2010-01-08 3 views

ответ

1

изменить это

if r == "Y" or "y" or "yes" or"yep" or"yeah": 

в

if r in ["Y","y","yes","yep","yeah"] : 

или изменить свой ответ на прописные

r = raw_input('\nDo you want play the video?\n\nY:Yes N:No\n\n').lower() 
if r in ["y","yes","yep","yeah"] : 
+0

вероятно Alquimista также может сделать как r.lower() в [» Y "," y "," yes "," yep "," yeah "]: :-) – shahjapan

+0

@shahjapan: если вы используете lower(), то зачем включать' Y в '? – nosklo

1

я не уверен, если я полностью понимаю ваш вопрос, но я считаю, что проблема заключается в вашем синтаксисе в s линия:

if r == "Y" or "y" or "yes" or"yep" or"yeah": 

Вы проверка истинности "Y", "у", и т.д., что все оценки "истина". Поместите все значения в последовательности и сделать:

if r in seq: 

Это должно быть намного чище способ сделать это, чем

if r == "Y" or r == "y"... 
+0

Небольшая коррекция: '==' связывает более жесткие, чем 'или', поэтому OP проверяет правду '(r ==" Y ") или" y "или" yes "и т. Д. – balpha

Смежные вопросы