码迷,mamicode.com
首页 > 编程语言 > 详细

python-login

时间:2019-05-21 12:49:40      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:%s   sof   匹配   去除   允许   空格   strong   mic   一个   

‘‘‘
写代码
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

标签:%s   sof   匹配   去除   允许   空格   strong   mic   一个   

原文地址:https://www.cnblogs.com/xiaokuangnvhai/p/10898992.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!