• 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

     

  • 相关阅读:
    fastlane 自动化打包不同的target,以及手动传版本号参数
    xcode 添加Account报错 This action could not be completed,Try again
    iOS 如何在模拟器中安装APP
    git 基础总结
    cnpm run build 报错 Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 9.x
    iOS 静态库sdk项目依赖到工程项目测试
    Windows下程序的自删除
    80x86指令码查询表(转载)
    C语言实现Win32第一个窗口
    Visual Studio的Unicode和ASCII
  • 原文地址:https://www.cnblogs.com/xiaokuangnvhai/p/10898992.html
Copyright © 2020-2023  润新知