我确信这对每个人来说都是超级基础,但由于某种原因,我无法弄清楚下面的代码只打印出来“很高兴再次见到你。”
我是编程的新手,这是我第一次尝试创建一些小的东西来进行交互。任何想法为什么elif和其他选项不打印?
def was_read():
print "Have you read this before?"
read = raw_input('Yes or No? ')
if read == 'Yes' or 'yes':
print 'Glad to see you back at it again.'
elif read == 'No' or 'no':
print 'Hope its a good one then!'
else:
print "I'm sorry I didn't understand that"
was_read()
答案 0 :(得分:5)
虽然Python可能看起来像英语,但它不是英语。你写的内容将被解释为:
if (read == 'Yes') or ('yes')
'yes'
是真实的,因此您的if
声明的确如下:
if (read == 'Yes') or True
False or True
和True or True
都是True
,因此您的第一个if
语句将始终为真。
明确:
if read == 'Yes' or read == 'yes'
或者只是采用更简单的方式:
if read.lower() == 'yes'