Python 使用变量时出现优先级错误

Python 使用变量时出现优先级错误,python,Python,检查此代码 我正在第18行尝试询问用户是否想再次尝试回答密码。 如果是,请输入密码并检查我的“通行证”。 如果用户不想回答密码,则应将其重定向到代码行27 但是已经在22号线上有点不对劲了 我尝试了几种格式化代码的方法,我还是个新手。有人想帮忙吗 编辑:很抱歉标题有误导性,我非常不确定该怎么写。您必须正确缩进。第21行和第22行以及第24行的悬挂else。在掌握Python缩进的诀窍之前,您可能需要暂时避免使用inlineif-cond:pass构造 我可能正确地分组了块,也可能没有分组,但下面

检查此代码

我正在第18行尝试询问用户是否想再次尝试回答密码。 如果是,请输入密码并检查我的“通行证”。 如果用户不想回答密码,则应将其重定向到代码行27

但是已经在22号线上有点不对劲了

我尝试了几种格式化代码的方法,我还是个新手。有人想帮忙吗


编辑:很抱歉标题有误导性,我非常不确定该怎么写。

您必须正确缩进。第21行和第22行以及第24行的悬挂
else
。在掌握Python缩进的诀窍之前,您可能需要暂时避免使用inline
if-cond:pass
构造

我可能正确地分组了块,也可能没有分组,但下面是代码的外观:


Expanded from comment:python要求您正确缩进代码。每个街区有4个空间。有关要求列表,请参见

if answer == "Yes":
    print "Password?"
    Pass = raw_input()
    if Pass == "hi":
        print "WOW SUCH PASS"
    else:
        print "Wrong,", tries, "tries...aborting"      
    tries = tries + 1
else:
    print "Okay."

我认为这是代码的正确缩进版本。它在语法方面是正确的,但在行为方面可能不是正确的——这需要你去调查。您应该阅读Python入门教程和评论中的建议

print "Password?"                                                                                                                                                                                            

main = 1.0 
tries = 1 
Pass = raw_input()
if Pass == "hi":
    print "Granted access."
elif Pass == "swag":
    print "really?"
else:
    print "Wrong, try again."
    print "Wrong", tries, "try."
    tries = tries + 1 

print "Password?"
Pass = raw_input()
if Pass == "hi":
    print "Granted access."
else:
    print "Wrong,", tries, """tries.
try again?"""  # test # line 18
    tries = tries + 1 
answer = raw_input()
if answer == "Yes":
    print "Password?"
    Pass = raw_input()  # line 22
    if Pass == "hi":
        print "WOW SUCH PASS"
    else:
        print "Wrong,", tries, "tries...aborting"
        tries = tries + 1 
else:  # line 27
    print "Okay."
大量重写:

print "Password?"

main = 1.0
tries = 1
Pass = raw_input()

if Pass == "hi":
    print "Granted access."
elif Pass == "swag":
    print "really?"
else:
    print "Wrong, try again."
    print "Wrong", tries, "try."
    tries = tries + 1

print "Password?"
Pass = raw_input()

if Pass == "hi":
    print "Granted access."
else:
    print "Wrong,", tries, "tries.try again?"
    tries = tries + 1

answer = raw_input()
if answer == "Yes":
    print "Password?"
    Pass = raw_input()

    if Pass == "hi":
        print "WOW SUCH PASS"
    else:
        print "Wrong,", tries, "tries...aborting"      
        tries = tries + 1
else:
        print "Okay."

Python解释器给出的错误消息是什么?问题在于您的空格/缩进不正确且不一致
print "Password?"

main = 1.0
tries = 1
Pass = raw_input()

if Pass == "hi":
    print "Granted access."
elif Pass == "swag":
    print "really?"
else:
    print "Wrong, try again."
    print "Wrong", tries, "try."
    tries = tries + 1

print "Password?"
Pass = raw_input()

if Pass == "hi":
    print "Granted access."
else:
    print "Wrong,", tries, "tries.try again?"
    tries = tries + 1

answer = raw_input()
if answer == "Yes":
    print "Password?"
    Pass = raw_input()

    if Pass == "hi":
        print "WOW SUCH PASS"
    else:
        print "Wrong,", tries, "tries...aborting"      
        tries = tries + 1
else:
        print "Okay."
users = {
    'hi': 'hi',
    'swag': None,
    'nsa': 'hail_the_fatherland'
}

def validate_user():
    for tries in range(3):
        user = raw_input('User: ')
        pwd  = raw_input('Password: ')
        if user in users and users[user] == pwd:
            print('Access Granted')
            return True
    print('Go away, you l33t h4ck3r')
    return False

def main():
    if validate_user():
        print('Direct me, master!')

if __name__=="__main__":
    main()