python-login
Posted xiaokuangnvhai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-login相关的知识,希望对你有一定的参考价值。
‘‘‘
写代码
1、写一个登陆的程序,最多登陆失败3次
2、账号和密码分别存到一个list里面
3、要校验输入是否为空,不输入和输入空格都算空,失败次数也要加1
4、要校验账号是否存在,不存在的要提示,失败次数也要加1
5、登陆成功的话,提示欢迎xxx登陆,今天的日期是xxx
‘‘‘
#第一种账户和密码分布存到2个list中
import time #导入时间模块
#存储账号和密码
name=[‘zhaozhao1‘,‘zhaozhao2‘,‘zhaozhao3‘]
passwd=[‘1234‘,‘12345‘,‘123456‘]
num =0
#允许3次输入错误
while num<3:
#接收输入
loginname=input("请输入用户名:")
loginpw=input("请输入密码:")
# 空格和空的判断,strip去除空格,判断字符长度
if len(loginname.strip()) == 0 :
num += 1
print("用户名不能为空,登录失败%s次" %num)
elif len(loginname.strip()) != 0 and len(loginpw.strip())==0:
num += 1
print("密码不能为空,登录失败%s次" % num)
else:
# 遍历list,验证用户名和密码
for i in range(0,len(name)):
#数组未遍历到最后一个元素
if i<len(name)-1:
#用户名不匹配,继续遍历
if loginname!= name[i]:
continue
#用户名正确,密码错误,登录失败
elif loginname==name[i] and loginpw!=passwd[i]:
num+=1
print("密码错误,登录失败%s次" %num)
break
#用户名和密码均正确,跳出循环,不再遍历,登录成功
elif loginname==name[i] and loginpw==passwd[i]:
num=4
print("欢迎%s登陆,今天的日期是%s" %(loginname, time.strftime(‘%Y-%m-%d‘, time.localtime(time.time()))))
break
#数组遍历到最后一个元素
else:
#用户名不匹配,登录失败
if loginname!= name[i]:
num+=1
print("账号不存在,登录失败%s次" %num)
#用户名正确,密码错误,登录失败
elif loginname==name[i] and loginpw!=passwd[i]:
num+=1
print("密码错误,登录失败%s次" %num)
#用户名和密码均正确,登录成功
elif loginname==name[i] and loginpw==passwd[i]:
num=4
print("欢迎%s登陆,今天的日期是%s" %(loginname, time.strftime(‘%Y-%m-%d‘, time.localtime(time.time()))))
#第二种,账户和密码存储到一个list中
import time
#用户名及密码存储
logininfo=[‘zhaozhao‘,‘123456‘]
num =0
#允许3次输入错误
while num<3:
loginname=input("请输入用户名:")
loginpw=input("请输入密码:")
#空格和空的判断,strip去除空格,判断字符长度
if len(loginname.strip()) == 0 :
num += 1
print("用户名不能为空,登录失败%s次" %num)
elif len(loginname.strip()) != 0 and len(loginpw.strip())==0:
num += 1
print("密码不能为空,登录失败%s次" % num)
#密码或者用户名不正确
elif loginname !=logininfo[0] or loginpw !=logininfo[1]:
num+=1
print("登录失败%s次"%num)
#用户名和密码均正确
elif loginname ==logininfo[0] and loginpw == logininfo[1]:
print("欢迎%s登陆,今天的日期是%s"%(loginname,time.strftime(‘%Y-%m-%d‘,time.localtime(time.time()))))
break
#第三种用户名和密码存储到list
import time
#用户名及密码存储
logininfo=[{‘zhaozhao1‘:‘1234‘},{‘zhaozhao2‘:‘12345‘},{‘zhaozhao3‘:‘123456‘}]
num =0
#允许3次输入错误
while num<3:
loginname=input("请输入用户名:")
loginpw=input("请输入密码:")
#空格和空的判断,strip去除空格,判断字符长度
if len(loginname.strip())==0 or len(loginpw.strip())==0:
num+=1
print("登录失败%s次"%num)
else:
t = 0
#遍历list,验证用户名和密码
for i in logininfo:
#字典转换列表
name=list(i.keys())
passwd=list(i.values())
if t<len(logininfo)-1:
if loginname != name[0] or loginpw != passwd[0] :
t+=1
elif loginname==name[0] and loginpw==passwd[0]:
num=4
print("欢迎%s登陆,今天的日期是%s" %(loginname, time.strftime(‘%Y-%m-%d‘, time.localtime(time.time()))))
else:
if loginname != name[0] or loginpw != passwd[0]:
t+=1
num+=1
print("登录失败%s次" %num)
elif loginname==name[0] and loginpw==passwd[0]:
num=4
print("欢迎%s登陆,今天的日期是%s" %(loginname, time.strftime(‘%Y-%m-%d‘, time.localtime(time.time()))))
#第四种字典存储用户名和密码
import time
# 用户名及密码存储
login_info = {‘zhaozhao1‘: ‘1234‘, ‘zhaozhao2‘: ‘12345‘, ‘zhaozhao3‘: ‘123456‘}
# 允许3次输入错误
num = 0
while num < 3:
loginname = str(input("请输入用户名:")).strip()
loginpw = str(input("请输入密码:")).strip()
# 空格和空的判断,strip去除空格,判断字符长度
if not loginname or not loginpw or loginname not in login_info:
num += 1
print("登录失败%s次" % num)
continue
elif login_info[loginname] == loginpw:
print("欢迎%s登陆,今天的日期是%s" % (loginname, time.strftime(‘%Y-%m-%d‘, time.localtime(time.time()))))
break
else:
num += 1
print("登录失败%s次" %num)
continue
以上是关于python-login的主要内容,如果未能解决你的问题,请参考以下文章