@Adolf45

Почему код в блоке if выполняется даже если условие неверно?

Пишу свой калькулятор и хочу, чтобы при некорректном вводе пользователь вновь вводил данные, но до тех пор, пока не будет введен правильный
what = input("Выберу операцию(+),(-),(*),(/):")

if what == "+" or "-" or "*" or "/":
    a = int(input("Первое число: "))
    b = int(input("Второе число: "))

    c = 0

    if what == "+":
        c = a + b
    elif what == "-": 
        c = a - b
    elif what == "*":
        c = a * b
    elif what == "/":
        c = a / b

    print(c)    
else:
    i = True
    while i == True:
        print("Неверная команда! Используй только '+','-','*','/':")
        what = input("Выберу операцию(+),(-),(*),(/):")
        if what == "+" or "-" or "*" or "/":
               i = False

Но проблема в том, что если ввести неподходящее значение, то код из блока if все равно выполняется. Без понятия, почему так, надеюсь на помощь
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Jordan_Belforts
if what in ['+', '-', '*', '/']:
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы