Пытаюсь разобраться в циклах

Вчера в универе, мы делали задачки (уже не помню какую) и чтобы не нажимать каждый раз на 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()
→ Ссылка
Автор решения: MarianD

Бесконечный цикл нужно прекратить командой 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))     # когда вводятся любые числа
→ Ссылка