Пытаюсь разобраться в циклах
Вчера в универе, мы делали задачки (уже не помню какую) и чтобы не нажимать каждый раз на F5, я решил написать while True. Код примерно выглядел так:
while True:
a = input()
b = input()
print(a+b)
Это увидел преподаватель и дал мне по морде. После чего сказал, что если будешь так писать, то тебя выгонят с работы. Я конечно понимаю, что while True нагружает оперативную память, но не знаю как по другому прописать цикл. Может возможно как то изменить на цикл for? Чем можно заменить while True и объясните.
Ответы (2 шт):
Можно заменить на функцию:
def ABC():
a = input() #Если нужно числа складывать, то int(input())
b = input()
print(a + b)
c = input("Повторить?: ") #Просто жмёшь Enter, если хочешь повторить
if c == "":
return ABC()
else:
pass
ABC()
Бесконечный цикл нужно прекратить командой break (которая исполнится при каком-то условии), например
while True:
a = input()
if a == "": # когда пользователь нажмет только Enter, input() выдаст пустую строку,
break # и мы немедленно прекращаем работу цикла
b = input()
print(a+b)
Замечание:
Вы, вероятно, хотите сделать сумму из двух введенных чисел, а не соединить 2 строки (хотя и в виду чисел) в одну.
Ваш оригинальный код сделает из чисел 7 и 8 не 15, а 78.
Тогда замените последнюю команду командой
print(int(a) + int(b)) # когда вводятся только целые числа
или
print(float(a) + float(b)) # когда вводятся любые числа