@FuFX

Ошибка с оператором else, как решить?

Вот код калькулятора:

print('') 
print('') 
print('КАЛЬКУЛЯТОР') 
print('Правила исполнения') 
print('***___***')  
print('Введите СЛОЖИТЬ чтобы сложить 2 числа') 
print('Введите ВЫЧИТАТЬ чтобы вычесть 2 введённых числа')
print('Введите УМНОЖИТЬ чтобы умножить 2 введённых числа')
print('Введите РАЗДЕЛИТЬ чтобы разделить 2 введённых числа')
print('Введите СТЕПЕНЬ чтобы возвести число в степень') 
print('Введите ОСТАТОК чтобы найти остаток от деления') 
print('') 
user_action = input('Введите действие: ') 
print('') 
print('Теперь введите 2 числа с которыми будете производить действия')
chislo = float(input('Введите перввое число: ')) 
chislo1 = float(input('Введите второе число: ')) 

if user_action == 'СЛОЖИТЬ' or user_action == 'сложить' or user_action == 'Сложить':
  result = str(chislo + chislo1) 
  print('Вот результат: ' + result) 
if user_action == 'ВЫЧИТАТЬ' or user_action == 'вычитать' or user_action == 'Вычитать':
  result1 = str(chislo - chislo1) 
  print('Вот результат: ' + result1) 
if user_action == 'УМНОЖИТЬ' or user_action == 'умножить' or user_action == 'Умножить':
  result2 = str(chislo * chislo1) 
  print('Вот результат: ' + result2) 
if user_action == 'РАЗДЕЛИТЬ' or user_action == 'разделить' or user_action == 'Разделить':
  result3 = str(chislo / chislo1) 
  print('Вот результат: ' + result3) 
if user_action == 'СТЕПЕНЬ' or user_action == 'степень' or user_action == 'Степень':
   result4 = str(chislo ** chislo1) 
   print('Вот результат: ' + result4) 
if user_action == 'ОСТАТОК' or user_action == 'остаток' or user_action == 'Остаток':
  result5 = str(chislo // chislo1) 
  print('Вот результат: ' + result5) 
else:
    print('Неправильный ввод')
print('')
print('******')
print('Программа закончена')


Когда я ввожу к примеру сложить и ввожу 2 числа мне выдаёт ответ а затем выводит 'неправильный ввод' что должно было быть только если я введу что-то неправильно
  • Вопрос задан
  • 676 просмотров
Решения вопроса 1
@Helow19274
Первый раз if, а потом elif. Иначе else действует только на блок, где остаток.
Типа:
if action == 1:
    do_something()
elif action == 2:
    do_another_thing()
else:
    print('Неправильный ввод')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы