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

 

 

转载于:https://www.cnblogs.com/xiaokuangnvhai/p/10898992.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask-Login是一个用于处理用户认证和会话管理的Flask扩展。它提供了一些有用的功能,例如登录、登出、身份验证保护的视图等。 使用Flask-Login,你可以轻松地实现用户认证系统,包括用户的注册、登录和注销。它还提供了一些装饰器和函数,用于保护需要身份验证的视图,只允许已登录的用户访问。 要使用Flask-Login,你需要先安装它,可以通过pip命令进行安装: ``` pip install flask-login ``` 然后,在你的Flask应用中导入并初始化Flask-Login扩展: ```python from flask import Flask from flask_login import LoginManager app = Flask(__name__) login_manager = LoginManager(app) ``` 接下来,你需要定义一个用户模型并实现一些必需的方法,例如获取用户、检查用户密码等。你还需要实现一个用户加载函数,用于从用户ID加载用户对象。这些可以通过继承`UserMixin`类来实现: ```python from flask_login import UserMixin class User(UserMixin): def __init__(self, id): self.id = id def get_id(self): return str(self.id) @login_manager.user_loader def load_user(user_id): return User(user_id) ``` 然后,你可以在视图中使用`@login_required`装饰器来保护需要身份验证的路由: ```python from flask_login import login_required @app.route('/protected') @login_required def protected(): return 'This page requires authentication' ``` 这只是Flask-Login的基本用法,你还可以根据你的需求进行更多的配置和定制。希望这能回答你对Flask-Login的问题!如果你有更多的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值