Продолжить работу программы после выполнения условия

Рейтинг: 0Ответов: 2Опубликовано: 22.03.2023

Как продолжить работу калькулятора после выполнения условия? Я только начал изучать python и не до конца понимаю работу while True.

while True:

    a = float(input("Введите первое число:"))
    operator = input("Введите операцию:")
    b = float(input("Введите второе число:"))

    if operator == "+":
        c = a + b
        print(c)
        break
    if operator == "-":
        c = a - b
        print(c)
        break
    if operator == "*":
        c = a * b
        print(c)
        break
    if operator == "/":
        c = a / b
        print(c)
        break
    else:
        print("Неверная операция!")
    if input("Продолжим?(Y/N)") !="Y":
        break

Ответы

▲ 1

Как сказал CrazyElf в комментариях, проблема была в лишних break. Решение будет выглядеть вот так:

while True:
    a = float(input("Введите первое число:"))
    operator = input("Введите операцию:")
    b = float(input("Введите второе число:"))

    if operator == "+":
        c = a + b
        print(c)
    elif operator == "-":
        c = a - b
        print(c)
    elif operator == "*":
        c = a * b
        print(c)
    elif operator == "/":
        c = a / b
        print(c)
    else:
        print("Неверная операция!")

    if input("Продолжим?(Y/N)") != "Y":
        break
▲ 0

Можно заменить break на continue, это будет лучшим решением.

while True:

    a = float(input("Введите первое число:"))
    operator = input("Введите операцию:")
    b = float(input("Введите второе число:"))

    if operator == "+":
        c = a + b
        print(c)
        continue
    if operator == "-":
        c = a - b
        print(c)
        continue
    if operator == "*":
        c = a * b
        print(c)
        continue
    if operator == "/":
        c = a / b
        print(c)
        continue
    else:
        print("Неверная операция!")
    if input("Продолжим?(Y/N)") !="Y":
        break