例如{"username":"admin","passwd":"123456"} 1.设计1个登陆的程序, 不同的用户名和对成密码存在个字典里面, 输入正确的用户名和密码去登陆, 2.首先输入用户名,如果用户名不存在或者为空,则一直提示输入正 确的用户名 3.当用户名正确的时候,提示去输入密码,如果密码跟用户名不对应, 则提示密码错误请重新输入。 4.如果密码输入错误超过三次,中断程序运行。 5.当输入密码错误时,提示还有几次机会 6用户名和密码都输入正确的时候,提示登陆成功! 柠檬班解法一:
def user_login():
login_info={"username":"admin","passwd":"123456"}
name=input("请输入你的登录名:")
while name!=login_info['username']:
name=input("你刚刚输入的用户名不存在,请重新输入:")
password=input("请输入你的密码:")
pwd_num=3#初始值
while password!=login_info['passwd']:#123456
pwd_num-=1#每输出一次就减去1
if pwd_num>0:
print("你还有%s次密码输入的机会"%pwd_num)#格式化输出
password=input("你刚刚输入的密码错误,请重新输入:")
continue
elif pwd_num==0:
print("你输入密码错误过多,用户已经被冻结")
break
if name==login_info['username'] and password==login_info['passwd']:
print("登录成功!")
user_login()
柠檬班解法二:
def user_login():
info={"username":"admin","passwd":"123456"}
name=input("请输入登录用户名:")
while name!=info['username'] or name=='':
name=input("输入错误,请输入登录用户名:")
num=3
while num>0:
pwd=input("请输入登录密码:")
if pwd==info['passwd']:
print("登录成功!")
num=0#此处重置num的值
elif pwd=='' or pwd!=info['passwd']:
num-=1
if num==0:
print("输入错误的密码次数超过3次,账户已被冻结")
else:
print("密码不正确!你还有%s次密码输入机会"%num)
user_login()
我的解法:
user_1 = {'username': 'admin', 'password': 'admin123'}
user_2 = {'username': 'erduo', 'password': 'erduo123'}
user_3 = {'username': 'guest', 'password': 'guest123'}
users = [user_1, user_2, user_3]
active_2 = True
while active_2:
username = input('请输用户名:')
for i in range(len(users)):
u = users[i]['username']
p = users[i]['password']
if username == u:
active_1 = True
num = 3
while active_1:
password = input('请输入密码:')
if password == p:
print('登录成功 ')
active_1 = False
else:
num = num - 1
print('密码错误,还有' + str(num) + '次机会')
if num == 0:
active_1 = False
active_2 = False
break
else:
print('请输入正确用户名')
break
HC写的--->加上我的,,放出来,,接受批评批评!!不接受点赞哼!
user_1 = {'username':'admin','password':'123456'}
user_2 = {'username':'erduo','password':'123456'}
user_3 = {'username':'guest','password':'123456'}
users = [user_1,user_2,user_3]
while True:
username = input("输入账号:")
for user in users:
if username == user['username']:
num = 3
while True:
password = input('请输入密码:')
if password == user['password']:
print('登录成功')
break
else:
num = num - 1
print('密码错误,还有'+str(num)+'次机会')
if num == 0:
break
break
else:
print('账号不存在')
continue
break
羊羽衣的解法:
if __name__ == '__main__':
# session 里面的 dict 可以自己添加,作为已有的用户信息
session = [{"username": "admin", "password": "123456"},
{"username": "jack", "password": "123"},
{"username": "tom", "password": "456"},
{"username": "amy", "password": "135"},
]
while True:
while True:
username = str(input('请输入用户名: '))
for user_information in session:
if username == user_information['username']:
password = user_information['password']
break
else:
continue
count = 3
for i in range(count):
input_password = str(input('请输入密码: '))
if input_password == password:
break
else:
if count - i - 1 != 0:
print('密码错误,请重新输入密码 --> 还有{}次机会'.format(count - i - 1))
else:
break
print('登录成功')
break
break
ps:之所以放这么多代码就是要看晕你~!