Python语法错误?

我正在修补一个简单的Python游戏,由于此语法错误,它无法运行:


intro = 'Greetings! What\'s your name?'


Hunter = 'Oh, Hey Hunter! Hows life?'

Spencer = 'Go away you stupid piece of crap!!!'

David = 'Hey dad.'


def Questions():

    print intro

    answer = raw_input("Well?").upper()

    if answer == 'Spencer' or answer == 'spencer'

        print Spencer

    elif answer == 'Hunter' or answer == 'hunter'

        print Hunter

    elif answer == 'David' or answer == 'david'

        print David

        else:

            print 'Sorry! I don\'t know you!'

            Questions()


Questions()

它不会显示在此示例上,但是python不会运行它,因为它说第10行(在'spencer'之后)存在语法错误,有人可以解释我在做什么吗?


qq_花开花谢_0
浏览 181回答 3
3回答

杨魅力

在if语句行的末尾加一个冒号,然后在elif。在要缩进下一行的任何地方,都需要一个冒号。另外,您的else陈述没有正确缩进。它应该与elif上面的一致。而且您可以使用.lower()将字符串转换为小写形式,因此只需要进行一次比较即可。啊...我没注意到您已经在使用.upper()。无论哪种方式,您都只需要进行一次比较即可。经过这些更改,您的Question函数将如下所示:def Questions():    print intro    answer = raw_input("Well?").lower()    if answer == 'spencer':        print Spencer    elif answer == 'hunter':        print Hunter    elif answer == 'david':        print David    else:        print 'Sorry! I don\'t know you!'        Questions()

小唯快跑啊

您在if上缺少冒号。if answer == 'Spencer' or answer == 'spencer':
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python