python-login

'''
写代码
1、写一个登陆的程序,最多登陆失败3次
2、账号和密码分别存到一个list里面
3、要校验输入是否为空,不输入和输入空格都算空,失败次数也要加1
4、要校验账号是否存在,不存在的要提示,失败次数也要加1
5、登陆成功的话,提示欢迎xxx登陆,今天的日期是xxx

'''

#第一种账户和密码分布存到2个list中

 

 1 import time  #导入时间模块
 2 
 3 #存储账号和密码
 4 name=['zhaozhao1','zhaozhao2','zhaozhao3']
 5 passwd=['1234','12345','123456']
 6 
 7 num =0  
 8 
 9 #允许3次输入错误
10 while num<3:
11     #接收输入
12     loginname=input("请输入用户名:")
13     loginpw=input("请输入密码:")
14 
15     # 空格和空的判断,strip去除空格,判断字符长度
16     if len(loginname.strip()) == 0 :
17         num += 1
18         print("用户名不能为空,登录失败%s次" %num)
19 
20     elif len(loginname.strip()) != 0 and len(loginpw.strip())==0:
21         num += 1
22         print("密码不能为空,登录失败%s次" % num)
23 
24 
25     else:
26         # 遍历list,验证用户名和密码
27         for i in range(0,len(name)):
28           
29           #数组未遍历到最后一个元素
30           if i<len(name)-1:
31               #用户名不匹配,继续遍历
32               if loginname!= name[i]:
33                   continue
34               #用户名正确,密码错误,登录失败
35               elif  loginname==name[i] and loginpw!=passwd[i]:
36                   num+=1
37                   print("密码错误,登录失败%s次" %num)
38                   break
39               #用户名和密码均正确,跳出循环,不再遍历,登录成功
40               elif loginname==name[i] and loginpw==passwd[i]:
41                  num=4
42                  print("欢迎%s登陆,今天的日期是%s" %(loginname, time.strftime('%Y-%m-%d', time.localtime(time.time()))))
43                  break
44 
45           #数组遍历到最后一个元素
46           else:
47               #用户名不匹配,登录失败
48               if loginname!= name[i]:
49                   num+=1
50                   print("账号不存在,登录失败%s次" %num)
51               #用户名正确,密码错误,登录失败
52               elif  loginname==name[i] and loginpw!=passwd[i]:
53                   num+=1
54                   print("密码错误,登录失败%s次" %num)
55               #用户名和密码均正确,登录成功
56               elif loginname==name[i] and loginpw==passwd[i]:
57                   num=4
58                   print("欢迎%s登陆,今天的日期是%s" %(loginname, time.strftime('%Y-%m-%d', time.localtime(time.time()))))

 

 

#第二种,账户和密码存储到一个list中

 1 import  time
 2 
 3 #用户名及密码存储
 4 logininfo=['zhaozhao','123456']
 5 num =0
 6 #允许3次输入错误
 7 while num<3:
 8     loginname=input("请输入用户名:")
 9     loginpw=input("请输入密码:")
10     #空格和空的判断,strip去除空格,判断字符长度
11     if len(loginname.strip())==0  or len(loginpw.strip())==0:
12         num+=1
13         print("登录失败%s次"%num)
14     #密码或者用户名不正确
15     elif loginname !=logininfo[0] or loginpw !=logininfo[1]:
16         num+=1
17         print("登录失败%s次"%num)
18     #用户名和密码均正确
19     elif loginname ==logininfo[0] and loginpw == logininfo[1]:
20         print("欢迎%s登陆,今天的日期是%s"%(loginname,time.strftime('%Y-%m-%d',time.localtime(time.time()))))
21         break

 

 

#第三种用户名和密码存储到list

 1 import  time
 2 #用户名及密码存储
 3 logininfo=[{'zhaozhao1':'1234'},{'zhaozhao2':'12345'},{'zhaozhao3':'123456'}]
 4 num =0
 5 #允许3次输入错误
 6 while num<3:
 7     loginname=input("请输入用户名:")
 8     loginpw=input("请输入密码:")
 9     #空格和空的判断,strip去除空格,判断字符长度
10     if len(loginname.strip())==0  or len(loginpw.strip())==0:
11         num+=1
12         print("登录失败%s次"%num)
13     else:
14         t = 0
15         #遍历list,验证用户名和密码
16         for i  in logininfo:
17            #字典转换列表
18            name=list(i.keys())
19            passwd=list(i.values())
20            if t<len(logininfo)-1:
21                if loginname != name[0] or loginpw != passwd[0] :
22                    t+=1
23                elif loginname==name[0] and loginpw==passwd[0]:
24                    num=4
25                    print("欢迎%s登陆,今天的日期是%s" %(loginname, time.strftime('%Y-%m-%d', time.localtime(time.time()))))
26            else:
27                if loginname != name[0] or loginpw != passwd[0]:
28                    t+=1
29                    num+=1
30                    print("登录失败%s次" %num)
31                elif loginname==name[0] and loginpw==passwd[0]:
32                    num=4
33                    print("欢迎%s登陆,今天的日期是%s" %(loginname, time.strftime('%Y-%m-%d', time.localtime(time.time()))))

 

 #第四种字典存储用户名和密码

 1 import time
 2 
 3 # 用户名及密码存储
 4 login_info = {'zhaozhao1': '1234', 'zhaozhao2': '12345', 'zhaozhao3': '123456'}
 5 
 6 # 允许3次输入错误
 7 num = 0
 8 while num < 3:
 9     loginname = str(input("请输入用户名:")).strip()
10     loginpw = str(input("请输入密码:")).strip()
11     # 空格和空的判断,strip去除空格,判断字符长度
12     if not loginname or not loginpw or loginname not in login_info:
13         num += 1
14         print("登录失败%s次" % num)
15         continue
16 
17     if login_info[loginname] == loginpw:
18         print("欢迎%s登陆,今天的日期是%s" % (loginname, time.strftime('%Y-%m-%d', time.localtime(time.time()))))
19         break
20     else:
21         num += 1
22         print("登录失败%s次" % num)
23         continue

 

 

posted @ 2019-05-21 11:53  小戳同学  阅读(2038)  评论(0编辑  收藏  举报