这是我第一次在堆栈溢出上发帖,如果有人可以帮助我完成一个简单的循环函数,我将非常感激。这个项目本来是为 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/