#python
Вопрос:
Я пытаюсь сделать простой калькулятор с помощью Python.
Я хочу, чтобы пользователь написал «и», а затем цикл while должен закончиться. Когда я запускаю его и набираю случайный текст, цикл while работает и говорит «повторите попытку». Однако, когда я на самом деле ввожу правильный ответ («добавить»), цикл while не заканчивается — вместо этого он продолжает говорить «попробуйте еще раз».
Почему это происходит? Что не так с моим кодом?
input('Welcome! This is a calculator app that allows you to perform basic arithmetic operations with whole and decimal numbers. Press Enter to continue.')
operation = input('Please pick one of the following operations: Multiply, Add, Divide or Subtract ')
while True:
if operation != 'add':
input('Please try again: ')
else:
print('All good')
break
Комментарии:
1. пожалуйста, отформатируйте свой код в блоке кода, выделив его и нажав кнопку {}
2.
while
цикл не прервется, так как вы не сохраняете новые входные данные вoperation
переменной3. Ознакомьтесь с учебным пособием , чтобы узнать о переменных и входных данных
4. Цикл должен иметь возможность считывать вводимые значения.
5. Вы не переназначаете ввод «повторите попытку
operation
» внутри цикла. Кроме того , вы можете упростить условия:while operation != 'add':
, отброситьif
и распечатать все хорошее после этого цикла.
Ответ №1:
Хорошо, так что смотри сюда:
if operation != 'add':
input('Please try again:')
Этот код позволяет пользователю только что-то вводить, но где?
Нам нужно ввести значение операции.
if operation != 'add':
operation = input('Please try again:')
Комментарии:
1. не могли бы вы, пожалуйста, подробнее рассказать об этом. Например, почему мне нужно было назначить ввод «Повторная попытка» для операции.
2. Поскольку вы используете операцию в операторе if, поэтому, если вы не введете в операцию и не дадите ей новое значение, значение операции останется тем, что вы ввели в нее в первый раз.