如何在Python中进行计数,以便程序在特定数量的计数后结束?
我是新手,我需要知道如何修改密码猜测程序,以跟踪用户输入密码错误的次数。如果输入超过3次,则应打印出“这似乎很复杂”,程序应该结束。 密码猜测程序是如何在Python中进行计数,以便程序在特定数量的计数后结束?
password="abcd"
while password != "password"
password = raw_input("Password:")
print "Welcome in"
我应该如何修改这个方案得到一个像我前面提到的?谁能指导我?谢谢。
将计数变量初始化为零并在循环中增加它。然后,您可以在while循环条件中使用计数,然后在循环后确定执行了多少次尝试并打印消息。
import sys
counter = 0;
while counter < 3:
counter += 1
password = raw_input("Password:")
if password == "password":
print "Welcome in"
break
else:
print "This seems to be complicated"
sys.exit(0)
for trial in range(3):
if raw_input('Password:') == 'password':
break
else:
# didn't find password after 3 attempts
sys.exit(10)
print 'Welcome in'
我想你可能需要修复你的缩进 – inspectorG4dget 2010-03-01 18:55:44
谢谢保罗。这真的很有用。 – Satish 2010-03-02 03:08:46
@ inspectorG4dget nope,缩进是正确的 - 其他的附加到for。 – 2010-03-02 18:33:18
比以前的一些可能性稍微简单一些,我想是因为我讨厌使用sys模块Tendayi Mawushe建议,因为以前的海报建议可能喜欢这种方法。另外需要注意的是,您之前的程序会打印是否获得正确的密码。我用一个简单的if语句解决了这个问题。
password="abcd"
trials = 0
while password != "password":
if trials==3:
break;
else:
password = raw_input("Password:")
trials+=1
if password == "password":
print "Welcome in"
print("To start program please login")
Validusername = "Trollman"
ValidPassword ="1337"
UserInput=input("Enter Username")
PassInput=input("Enter Password")
trials = 0
while (PassInput != ValidPassword or UserInput != Validusername):
if trials==3:
break;
else:
UserInput=input("Login Failed: Re-Enter Username")
PassInput=input("Re-Enter Password")
trials+=1
if (PassInput == ValidPassword and Validusername == UserInput):
print("welcome " + UserInput)
谢谢,我是能够使这
AR感谢您的回复。修改的程序这样 密码= “ABCD” CURRENT_COUNT = 0 而密码= “密码”: 密码=的raw_input( “猜测密码:”) CURRENT_COUNT = CURRENT_COUNT + 1 如果CURRENT_COUNT> 2: 打印“这一定很复杂。” 打印“欢迎进来” 一旦我运行该程序后,3错误尝试它仍然显示消息“猜密码?一旦我给出正确的密码,它会给出消息“那一定很复杂”,然后只显示“欢迎进来”。有什么方法可以终止“猜猜密码?”经过三次错误尝试? – Satish 2010-03-01 18:07:29
@Satish。这里有一个提示:不要在评论中发布代码。您可能想添加到您的问题。 – 2010-03-01 18:21:51