В моем коде есть функция «хотите ли вы сыграть снова». По какой-то причине, когда я ставлю «нет», он запускает его через цикл «не да» или «нет» перед остановкой кода. Почему оно это делает? Вот мой код:
again = input('Would you like to play again?\t')
while again != ('yes') or ('no'):
print ('Error code 1: Please try again!')
again = input('Would you like to play again?\t')
if again == ('yes') or ('no'):
break
if again == ('no'):
break
Вот мой вывод:
Would you like to play again? no
Error code 1: Please try again!
Would you like to play again? no
Не могли бы вы объяснить, почему нет? В другой статье это не объяснялось. Большое спасибо!
Потому что Python не похож на английский. На английском языке мы можем сказать: «Является ли X равным Y или Z», и понятно, что цель состоит в том, чтобы сравнить X с Y, а также X с Z. Но в Python вы должны полностью описать каждое условие: x == y or x == z.
Но что именно не так с утверждением? Разве любое утверждение, отличное от «да» или «нет», не должно проходить через цикл?
Ой. В этом есть смысл. Большое спасибо за разъяснения.
И связанный ответ говорит об этом, но это длинный ответ, и этот бит легко пропустить.
Я все еще получаю это: Вы хотели бы играть снова? нет отладки Код ошибки 1: Пожалуйста, попробуйте еще раз! Хотели бы вы сыграть снова? нет . Даже после изменения моего кода снова != ('нет') или снова != ('да'): печать ('отладка'), а снова != ('да') или снова != ('нет'): печать («Код ошибки 1: повторите попытку!») снова = input('Хотите сыграть еще раз?\t') if снова == («да») или («нет»): break if снова == ( 'без перерыва
извините, это действительно тяжело читать.
Независимо от того, что вы вводите, if again != ('no') or again != ('yes') будет всегда верным. Вы хотите and вместо or.






again != ('yes') or ('no')не является правильным способом проверки нескольких значений.