我的程序在Python shell中工作,但在cmd.exe中运行时无法识别我的输入

时间:2013-05-08 01:33:28

标签: python string input exe

嘿,我对此非常陌生,不知道为什么我甚至试图在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)

1 个答案:

答案 0 :(得分:0)

原因是cmd在输入字符串中添加回车符('\r')。

如果您尝试打印"\r",则可以看到repr(attempt)

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

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