0

我相信这对每个人来说都是超级基本的,但由于某种原因,我无法弄清楚下面的代码只会打印出“很高兴再次看到你回来”。

我是编程新手,这是我第一次尝试创建一些可以与之交互的小东西。任何想法为什么 elif 和 else 中的其他选项不打印?

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()
4

1 回答 1

5

虽然 Python 可能看起来像英语,但它不是英语。您写的内容将被解释为:

if (read == 'Yes') or ('yes')

'yes'是真实的,所以你的if陈述真的像:

if (read == 'Yes') or True

False or Trueand True or Trueare both True,所以你的第一个if陈述永远是真的。

明确:

if read == 'Yes' or read == 'yes'

或者只是做更简单的方法:

if read.lower() == 'yes'
于 2013-07-08T21:57:02.580 回答