2013-05-08 67 views
1

嘿,我完全是新手,不確定爲什麼我甚至要在cmd.exe中運行我的代碼。 ..我的程序在Python shell中工作,但在cmd.exe中運行時無法識別我的輸入

但是,當我在那裏運行腳本時,它無法識別何時輸入正確的密碼。當我在python shell中運行它時它工作正常。

任何答案或幫助指出我需要學習的方向是正確的。

secret_info=["Whatmough","Graham","NOOB"] 
password="1234" 
tries=0 
locked = 1 

def cracker(): 
    attempt=input("Type your Password: ") 

    return attempt 

def checker(): 
    global locked, tries 
    if cracker() == password: 
     locked = 0 
    else: 
     tries = tries + 1 


while 3 > tries and locked==1: 
    checker() 
    if locked == 0: 
     print(secret_info) 
    if tries == 3: 
     secret_info=0 
     print("Self Distructed! Your secret info is now:", secret_info) 
+0

你是如何運行它? – Blender 2013-05-08 01:35:18

回答

0

原因是cmd添加一個回車('\r')到輸入字符串。如果您嘗試打印repr(attempt),您可以看到"\r"

要刪除回車,您可以使用str.strip()str.rstrip("\r")

attempt = input("Type your Password: ").rstrip("\r") 
+0

謝謝你的回答!現在它崩潰了。還有什麼我不得不改變它在cmd中工作? – Graham 2013-05-08 01:55:07

+0

好吧,謝謝,至少我瞭解到回車:) – Graham 2013-05-08 02:01:45

相關問題