2013-11-25 31 views
1
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." 

請檢查此代碼。使用變量時優先錯誤

我試着在第18行詢問用戶是否想再次嘗試回答密碼。 如果是,請詢問密碼並查看我的「通行證」。 如果用戶不想回答密碼,他應該被重定向到代碼行27.

但是已經在第22行有錯誤。

我試過幾種方法來設置這段代碼的格式,我很新。有人想幫助這個嗎?

編輯:對於誤導性標題抱歉,是非常不確定如何把這個。

+0

什麼是錯誤信息由Python解釋器給出? –

+2

http://www.python.org/dev/peps/pep-0008/ –

+1

問題是因爲你有不正確和不一致的空格/縮進 – YXD

回答

0

你必須讓你的縮進正確。第21行和第22行看起來很奇怪,以及第24行掛起的else。您可能希望避免內聯if cond: pass構造一段時間,直到您獲得Python縮進的結尾。

我可能會或可能沒有正確分組的塊,但在這裏是如何你的代碼應該

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." 
0

從註釋擴展:蟒蛇需要你正確地縮進代碼。每塊4個空格。有關要求列表,請參閱http://www.python.org/dev/peps/pep-0008/

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." 
0

我認爲這是一個正確縮進版本的代碼。它的語法是正確的,但可能不是行爲方面的 - 這是爲了您的調查。您應該閱讀註釋中建議的入門Python教程和http://www.python.org/dev/peps/pep-0008/

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." 
0

改寫塗抹適量:

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