即使用户输入正确的信息,我的while循环仍然会重复循环

时间:2017-11-19 00:01:21

标签: python python-3.x while-loop

我知道该网站有一些关于我的查询的回答字符串,但它们没有帮助。我正在制作这个程序,管理员知道密码,当密码错误时,如果要求输入密码,它会要求他们输入密码,直到密码正确为止。

while (!input) {
    if (!(userIn < 3 && userIn > 1 && userIn < totalStone)) {
       // Output an error message
       txtaOut.setText(txtaOut.getText() +"\nEnter a number between 1 - 3 and less than the amount of stones left.");
       // Prompt the user again
       userIn = Integer.parseInt(txtIn.getText());
    } else {
       input = true;
    }
}

2 个答案:

答案 0 :(得分:1)

将admin_password移动到循环内

while True:
    admin_password = input("To view a user's details, enter the admin 
pasword: ")
    if admin_password != "AdminLogin":
        print("Incorrect password")
    else:
        break

现在你正在接受一次admin_password并反复检查字符串。

答案 1 :(得分:0)

你的循环似乎很好。我认为你的问题在于接受输入。您是否使用Python 2解释器运行Python 3代码?见:input string in python 3。顺便说一下,你可以使用这段代码。我工作得很好。

admin_password = raw_input("To view a user's details, enter the admin pasword: ")

while admin_password != "AdminLogin":
    admin_password = raw_input("To view a user's details, enter the admin pasword: ")

print "Logged In"