Проверка пользовательских строк ввода в Python
Поэтому я искал практически каждую перестановку слов «string», «python», «validate», «user input» и т. Д., Но мне еще не удалось найти решение, которое работает для меня.
Моя цель состоит в том, чтобы подсказать пользователю, хотят ли они запустить другую транзакцию, используя строки «да» и «нет», и я подумал, что сравнение строк будет довольно простым процессом в Python, но что-то просто не работает правильно. Я использую Python 3.X, поэтому, насколько я понимаю, ввод должен принимать строку без использования необработанного ввода.
Программа всегда отбрасывает неверный ввод, даже при вводе «да» или «нет», но действительно странно то, что каждый раз, когда я вводю строку длиной> 4 символа или значение типа int, она проверяет его как действительный положительный введите и перезапустите программу. Я не нашел способ получить действительный отрицательный вклад.
endProgram = 0;
while endProgram != 1:
#Prompt for a new transaction
userInput = input("Would you like to start a new transaction?: ");
userInput = userInput.lower();
#Validate input
while userInput in ['yes', 'no']:
print ("Invalid input. Please try again.")
userInput = input("Would you like to start a new transaction?: ")
userInput = userInput.lower()
if userInput == 'yes':
endProgram = 0
if userInput == 'no':
endProgram = 1
Я также пытался
while userInput != 'yes' or userInput != 'no':
Я был бы очень признателен не только за помощь в решении моей проблемы, но и за то, что у кого-нибудь есть дополнительная информация о том, как Python обрабатывает строки, и это было бы здорово.
Извините заранее, если кто-то еще задал вопрос, подобный этому, но я сделал все возможное, чтобы искать.
Спасибо всем!
~ Dave