usernames = ['cwl','pn','gxn','hyp']
passwords = ['123456','abc123','324234','23423']
#pn
#sdfsdf

#需要校验 用户不存在的话 要提示
#需要校验是否为空
#账号密码正确登录成功

#最多输错3次
#1、输入账号密码
#2、校验是否输入为空
#3、校验账号是否存在 list.count()
#4、从usernames里面找到user的下标,然后去password种去对应的密码
import datetime
today = datetime.datetime.today()
count = 0
# for i in range(4):
while count<3:
count+=1
username = input('username:').strip()#去掉一个字符串两边的空格
password = input('password:').strip()
if username=='' or password=='':
print('账号/密码不能空!')
# elif usernames.count(username)==0: #判断元素的个数
elif username not in usernames: #判断元素是否存在某个list里面
print('用户不存在!')
else:
user_index = usernames.index(username)#登录用户的下标
p = passwords[user_index]#根据下标取到密码
if password == p:#判断密码是否正确
print('欢迎%s登录,今天的日期是%s.'%(username,today))
break
else:
print('密码错误!')
else:
print('错误次数已经用尽')

count = 0
# for i in range(4):
while count<3:
count+=1
username = input('username:').strip()#去掉一个字符串两边的空格
password = input('password:').strip()
if username=='' or password=='':
print('账号/密码不能空!')
elif username=='niuhanyang' and password=='123456':
print('登录成功!')
else:
print('账号/密码错误!')
else:
print('错误次数已经用尽')

随机推荐

  1. SVN导出差异版本更新的文件列表

    对于在服务器上没有使用版本控制的运维人员来说,每次SVN修改的文件都需要查看更改日志,一个个查找出来再更新到服务器,过程实在是痛苦 那么有没有一种方法跑个命令比对一下版本就哗啦啦的把修改好的文件复制出 ...

  2. spring AOP AspectJ 定义切面实现拦截

    总结记录一下AOP常用的应用场景及使用方式,如有错误,请留言. 1.  讲AOP之前,先来总结web项目的几种拦截方式    A:  过滤器 使用过滤器可以过滤URL请求,以及请求和响应的信息,但是过 ...

  3. iphone上mitmproxy证书设置

    PC端安装mitmproxy并添加证书后,基本问题不大,都能正常运行起来 手机端iphone上下载安装mitmproxy证书: 1.手机和PC在同一个局域网中,设置wifi代理为PC端的ip,端口为m ...

  4. 7、TypeScript数据类型

    1.变量声明 var 不要使用 建议使用: let 变量 const 常量,一旦申明不能修改 2.数据类型 2.1布尔值:boolean 2.2数字类型  :number 2.3字符串类型:strin ...

  5. 刷题upupup【Java中HashMap、HashSet用法总结】

    HashMap: 常用操作 1. containsKey() 判断HashMap是否包含key 2. containsValue() 判断HashMap是否包含“值为value”的元素 3. get( ...

  6. 算法:输出一个整数(不用ToString方法)

    1.递归实现 static void Main(string[] args) { Console.WriteLine("Pls input a number:"); int p = ...

  7. python编程学习--Pygame - Python游戏编程入门(0)---转载

    原文地址:https://www.cnblogs.com/wuzhanpeng/p/4261015.html 引言 博客刚开,想把最近学习的东西记录下来,算是一种笔记.最近打算开始学习Python,因 ...

  8. linux常用命令 print格式输出

    格式化输出命令 printf '输出类型 输出格式' 输出内容 输出类型: %ns 输出字符串,n是数字指代输出的几个字符 %ni 输出整数,n是数字指代输出几个数字 %m.nf 输出浮点数.m和n是 ...

  9. day_44_Django

    day44 1.内容回顾 12月18号开班 python基础语法 网络编程 并发编程 前端(HTML.css.js) 数据库(mysql) 2.今日概要 1.了解web应用程序的本质 2.Django ...

  10. MySql数据库通过idb和frm恢复

    简单粗暴 恢复user表 1.先建立和之前user表一样的表结构.就是执行create table user .... ,执行完,数据库目录下就会建立user.ibd文件(当然还有其他的) 2.执行 ...