python - 如何创建一个 python 程序来使用 for 和 while 生成密码
问题描述
您好我正在尝试创建一个小代码,该代码可以多次接收密码尝试(3),如果密码错误,用户将无法重试。
你能告诉我为什么我的代码没有给我想要的预期结果吗?
它给我的结果是一个循环,永无止境地要求再试一次;而我想要的结果是一个仅在 3 次试验后结束的循环。“我很想保持在 while 循环中”
非常感谢您
我的代码是
password=''
for i in range(1,3):
if i<3:
while password!='daniel':
password=input("enter the password:")
if password=="daniel":
print('your logged in ')
else:
print('try again ')
else:
print("number of trials done")
`
解决方案
当您运行此代码时,您应该得到错误:NameError: name 'password' is not defined
. 这是因为 Python 逐行运行您的代码,当它到达该行时while password!='daniel'
,它不知道是什么password
,因为它还没有被告知,所以就停止运行。
要修复这样的错误,您只需要首先告诉 Python 这password
将是一个存储文本的变量。您可以使用空文本初始化变量,如下所示:password=''
,这必须放在导致错误的行之前的任何位置。
推荐阅读
- python - 使用列表替换字符串中的子字符串
- android - 如何防止双击按钮重复操作?
- python - 如何让 Flask-SQLAlchemy 与应用程序工厂模式一起工作
- python - 寻求帮助以使我的套接字信使在 Python 中即时发送
- javascript - 为什么我的 localStorage.setItem 似乎没有做任何事情?
- typescript - 是否可以在 typescript 中创建一个类型来表示除一组字符串文字之外的所有字符串?
- python - 在 pandas 中,根据 order 和 values 创建一个新列
- r - 按R中的数字向量对数据框列进行排序
- django - 将 PositiveIntegerField 迁移到 FloatField
- blockchain - 比特币交易验证如何与 scriptSig 和 sciptPubKey 一起工作?