首页 > 解决方案 > 如何创建一个 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")

`

标签: python

解决方案


当您运行此代码时,您应该得到错误:NameError: name 'password' is not defined. 这是因为 Python 逐行运行您的代码,当它到达该行时while password!='daniel',它不知道是什么password,因为它还没有被告知,所以就停止运行。

要修复这样的错误,您只需要首先告诉 Python 这password将是一个存储文本的变量。您可以使用空文本初始化变量,如下所示:password='',这必须放在导致错误的行之前的任何位置。


推荐阅读