Помогите пожалуйста решить задачу
Лифт
В торговом центре этажи нумеруются так: …, –3,–2,–1,1,2,3, … (нулевого этажа нет!). Вася спустился на лифте с этажа с номером A на B этажей, а затем поднялся на лифте на C этажей. Требуется определить, на каком этаже он оказался.
Входные данные
Вводятся три числа A, B и C. A — целое число от –100 до 100, не равное нулю. B и C — натуральные числа, не превосходящие 100.
Выходные данные
Выведите одно число — номер этажа, на котором окажется Вася.
a=int(input())
b=int(input())
c=int(input())
if a<0:
if -(a-b)>c:
print(a-b+c)
elif -(a-b)<=c:
print(a-b+c-1)
else:
if b>=a and -(a-b)<=c or b<a:
print(a-b+c)
elif b>=a and(-c)>(a-b):
print(a-b-1+c)
Ответы (2 шт):
Примерно так, можно подрезать, но пока неохота копаться. Дела...
stack = range(-100, 101)
i = 0
#
while i != 1:
a = int(input("Где стоит Вася:"))
if a > -100 and a in stack:
i = 1
else:
i = 0
i = 0
#
while i != 1:
b = int(input("Сколько этажей спускаться:"))
if a - b in stack and b > 0 and b <= 100:
x = a - b
i = 1
elif a - b < -100 and b > 0 and b <= 100:
print("Вася пытается спуститься ниже -100-го
этажа. Он спустится только на -100-й этаж.")
x = -100
i = 1
elif b <= 0:
print("Второе число должно быть больше
ноля!") i = 0
elif b > 100:
print("Число не должно быть больше 100")
i = 0
i = 0
#
if x == 0:
x = -1
#
while i != 1:
c = int(input("Сколько этажей подниматься:"))
if x + c in stack and c > 0 and c <= 100:
x = x + c
i = 1
elif x + c > 100 and c > 0 and c <= 100:
print("Вася пытается подняться выше 100-го
этажа. Он поднимется только на 100-й этаж.")
x = 100
i = 1
elif c <= 0:
print("Третье число должно быть больше
ноля!") i = 0
elif c > 100:
print("Число не должно быть больше 100")
i = 0
#
if x == 0:
x = 1
print("Вася на {0} этаже".format(x))
Если не мудрить, то достаточно подкорректировать реальный номер подземных этажей и вернуть назад.
if a < 0:
a += 1
a = a - b + c
if a <= 0
a -= 1
Всё.