用python实现有一个系统,用户的信息保存在如下列表里面users =[xiaogiang , xiaowang] passwd = 1234567 用户名和密码一一对应,xiaogiang 密码为123,xiaowang密码为456用户登陆(通过input接收用户输入用户名和密码模拟登录行为)判断用户登陆是否成功,需要进行如下判断:1)判断用户是否存在 2)如果存在(2.1)判断用户密码是否正确,如果正确,登陆成功,退出循环。如果密码不正确,重新脊陆,总共有三次机会登陆。 (2.2)如果用户不存在,重新登陆,总共有三次机会考察知识点: 流程控制、列表使用、循环
时间: 2023-06-05 15:05:24 浏览: 112
题解:
以下是Python代码实现:
users = ["xiaogiang", "xiaowang"]
passwd = ["123", "456"]
login_success = False
for i in range(3):
user_name = input("请输入用户名:")
if user_name in users:
index = users.index(user_name)
for j in range(3):
password = input("请输入密码:")
if password == passwd[index]:
print("登陆成功!")
login_success = True
break
else:
print("密码错误,请重新输入,您还有%d次机会" % (2 - j))
if login_success:
break
else:
print("用户名或密码错误,请重新输入,您还有%d次机会" % (2 - i))
else:
print("用户名不存在,请重新输入,您还有%d次机会" % (2 - i))
上述代码首先定义了两个列表,元素都一一对应,表示不同用户的名称和对应的密码。使用for循环来控制最多可以尝试登陆三次,如果登陆成功则立即退出循环,如果尝试三次仍不能成功登陆,则输出提示信息。
循环开始时,先要求用户输入用户名,判断这个用户名是否在我们提前定义好的用户列表中。如果不在列表中,则输出提示信息,并循环继续;如果在列表中,则获取该用户在列表中的索引,使用嵌套的for循环控制最多可以输入密码三次。
如果密码正确,则输出登陆成功的信息,并将login_success标志位设置为True,然后退出循环。如果三次输入都不正确,则提示用户重新输入用户名或密码。
需要注意的是,当登陆成功时,我们使用break语句直接跳出了for循环。在Python中,break语句可以用于跳出最近的for或while循环,从而实现流程控制。
阅读全文