python - 我怎样才能让这个简单的Python登录程序循环起来?

标签 python python-3.x python-requests

这是我第一次在堆栈溢出上发帖,如果有人可以帮助我完成一个简单的循环函数,我将非常感激。这个项目本来是为 4 人小组进行的,但我感到非常失望,并且没有得到我的团队的支持。

我是 python 的初学者,如果有任何帮助或建议,我将不胜感激。

我试图搞乱并合并一个循环,但我感觉非常超出我的深度。

当前程序运行并以(用户名,密码)格式提取 .txt 文件中的用户名和密码,但是,这是测验程序的开始。如果输入的用户名/密码不正确,用户仍然可以开始测验。

login_username = input('username: ')
login_password = input('password: ')
found_username = False

with open('passwords.txt', 'r') as password_file:
    for line in password_file:
        username, password = line.strip().split(',')

        if login_username == username:
            found_username = True
            if login_password == password:
                print('success!')
            else:
                print('login failure!')
            break

if not found_username:
    print('username invalid')

我将非常感谢任何可用的支持:)

最佳答案

您有几种不同的选择。只要尚未输入正确的密码,最基本的就会不断要求输入密码。这也意味着对您已有的代码进行最少的编辑。

logged_in = False #Defines if user is logged in or not
while not logged_in:
    login_username = input('username: ')
    login_password = input('password: ')
    found_username = False

    with open('passwords.txt', 'r') as password_file:
        for line in password_file:
            username, password = line.strip().split(',')

            if login_username == username:
                found_username = True
                if login_password == password:
                    print('success!')
                    logged_in = True #We're not logged in, so loop will exit
                else:
                    print('login failure!')
                break

    if not found_username:
        print('username invalid')

这将不断重复询问用户名密码,因此更好的版本可能是采用用户名(和用户名检查) 进入不同的 while 循环。

希望这有帮助!

关于python - 我怎样才能让这个简单的Python登录程序循环起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55668340/

相关文章:

python - 令人尴尬的是,并行助手对于不同的 'n_jobs' 参数没有返回相同的结果

python - 使用 Keras io 进行最简单的 Lstm 训练

python - 关闭挥之不去的连接

python - 使用 requests-html 解析元素的尾部

python - 使用正则表达式从文本文件中提取数字

python-3.x - 更改 pandas 数据框中的列值

python - 如何在 tkinter 中创建模态对话框?

python-3.x - Pytrends 趋势结果与手动下载的数据不相似

python - 从网站上抓取动态变化图像的 URL

python - 在 Python 中如何选择列表中包含重复项的行