看前须知:
此章三个版本仅涉及基本数据与流程控制的内容,后续版本稍后继续更新,为了你有更好的阅读体验,请确保你已经掌握了一下知识:
字符串,列表,字典的基本方法
流程控制
版本一 (单用户单次登录)
该版本通过预先设置用户名,密码的形式。仅模拟用户登录的场景
#预习注册好的用户信息:
name = "admin"
pwd = "network"
#登录功能的实现:
username = input("请输入用户名:")
if not username.strip():
print("用户名不能为空!")
else:
password = input("请输入密码:")
if not password.strip():
print("密码不能为空")
else:
if username == name and password == pwd:
print("登录成功")
else:
print("账号或密码错误")
执行结果:
(1)输入的用户名为空
(2)输入的用户名不为空,输入的密码为空
(3)输入的用户名和密码都不为空,但是密码或账户错误,导致无法登录
(4)账号与密码均输入正确,登录成功
版本二(单用户多次登录)
此版本在上一版本的基础上添加了循环,使用户在登陆失败时,可以反复进行登录,或者退出
#预习注册好的用户信息:
name = "admin"
pwd = "network"
#登录功能的实现:
while True: #判断登录结果,失败则进行进行循环
username = input("请输入用户名:")
if not username.strip():
print("用户名不能为空!")
else:
if username.upper() == "Q": #如果不想继续登录,可以使用此语句退出程序
break
else:
password = input("请输入密码:")
if not password.strip():
print("密码不能为空")
continue
else:
if username == name and password == pwd:
print("登录成功")
break
else:
print("账号或密码错误")
版本三(多用户注册后登录)
通过列表来实现注册多个用户功能,并在后续登录功能中进行验证
#注册功能的实现:
print("注册模块".center(50,"*"))
user_list = [] #创建空列表存储用户信息
while True:
name = input("请输入用户名:")
if not name.strip():
print("用户名不能为空!")
else:
if name.upper() == "Q": #如果不想继续登录,可以使用此语句退出程序
break
else:
pwd = input("请输入密码:")
if not pwd.strip():
print("密码不能为空")
else:
user_dict = {'name':name,'password':pwd} #将每个用户的注册信息存储在一个字典中,此处不使用元组的原因是元组不可变,后续密码修改实现复杂
user_list.append(user_dict) #将每个用户的字典添加到列表中进行保存
#登录功能的实现:
print("登录模块".center(50,"*"))
while True: #判断登录结果,失败则进行进行循环
username = input("请输入用户名:")
if not username.strip():
print("用户名不能为空!")
else:
if username.upper() == "Q": #如果不想继续登录,可以使用此语句退出程序
break
else:
password = input("请输入密码:")
if not password.strip():
print("密码不能为空")
continue
else:
for i in user_list:
if username == i['name'] and password == i['password']:
print("登陆成功")
break
else:
print("账号或密码错误")