为了账号安全,请及时绑定邮箱和手机立即绑定

Python语法错误?

Python语法错误?

qq_花开花谢_0 2021-03-15 17:19:23
我正在修补一个简单的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'之后)存在语法错误,有人可以解释我在做什么吗?
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

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


查看完整回答
反对 回复 2021-03-23
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

您在if上缺少冒号。

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


查看完整回答
反对 回复 2021-03-23
  • 3 回答
  • 0 关注
  • 180 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号