python发牌代码十点半_深夜十点半(一)——我的第一个Python程序“登录系统”...
系统设计要求:
(1)可以输入用户名和密码
(2)密码要密文显示
(3)输错三次要锁定对应的用户
首先,我们来完成要求1,设计一个可以输入用户名和密码的界面,输入正确或错误进行提示。
_username = "Fisher"
_password = "goodluck"
username = input("username:")
password = input("password:")
if _username == username and _password == password:
print("Welcome user {name} login...".format(name = username))
else:
print("Invalid username or password !")
然后,我们来完成密码输入的密文显示动作,这里用到了getpass库:
(1)这里需要import getpass库,然后通过getpass.getpass()来实现密文显示密码的动作;
(2)这个库还有另外一个函数getpass.getuser(),是用来读取系统用户名的,无输入参数;
(3)这个库必须在CMD模式下才能完整运行,否则会有无法密文或无法运行的问题;
import getpass
#系统自带用户名
_username = "Fisher"
_password = "goodluck"
username = input("username:")
password = getpass.getpass()
print(username,password)
if _username == username and _password == password:
print("Welcome user {name} login...".format(name = username))
else:
print("Invalid username or password !")
最后,我们要实现对输入错误三次的用户进行锁定操作,需要用到文件操作。
设计思路:
(1)有一个默认的用户名、密码列表文件,用于结果校验;
(2)输入错误三次的行为识别;
(3)对输入三次的用户进行锁定,每次输入用户名后先检查当前账户是否被锁定,锁定用户名被记录到文件中,无论程序是否退出均有效;
关键点:
(1)在文件中怎样分别读取不同用户的用户名和密码
(2)set、dict的查找、比较方法
import getpass
#从文件中读取所有用户名、密码到字典中
f_user_list_path = open(r"D:\python\homework\userlist.txt",'r')
f_user_blacklist_path = open(r"D:\python\homework\blacklist.txt",'r')
while True:
Registed_user = f_user_list_path.readline()
#读取用户名和密码到字典里
#去除用户名和密码里的非法的字符,比如:空格、换行,使用strip()
Registed_user = Registed_user.strip(" ")
Registed_user = Registed_user.strip("\n")
Registed_password = f_user_list_path.readline()
Registed_password = Registed_password.strip(" ")
Registed_password = Registed_password.strip("\n")
d_alluser = dict.fromkeys(Registed_user,Registed_password)
print(d_alluser)
if Registed_password == ''or Registed_user == '':
break
#关闭文件
f_user_list_path.close()
#读取黑名单列表到set中
s_blacklist = set()
while True:
blacklist_user = f_user_blacklist_path.readline()
#读取用户名和密码到字典里
#去除用户名和密码里的非法的字符,比如:空格、换行,使用strip()
blacklist_user = blacklist_user.strip(" ")
blacklist_user = blacklist_user.strip("\n")
blacklist_user = blacklist_user.strip("")
if blacklist_user != '':
s_blacklist.add(blacklist_user)
else:
print(blacklist_user,s_blacklist)
break
#关闭文件
f_user_blacklist_path.close()
#用户名密码登录
count = 0
while count < 10:
#用户名密码登录
username = input("Please input your username:")
#检查用户是否被锁定,如果没有锁定则可以输入密码,否则进行锁定提示
#Set查询方法待确定
# print("This is your name:",username,"Blacklist is:", s_blacklist)
# if s_blacklist.isdisjoint(username) != True:
# print("您输入的错误次数太多,已禁止访问",username,s_blacklist)
# continue
password = getpass.getpass()
#用户名密码合法性检查
#Dict查询方法待确定
print(d_alluser,d_alluser.get(username))
if d_alluser.get(username) == password:
print("Welcome user {name} login...")
else:
print("Invalid username or password !")
count = count + 1
python发牌代码十点半_深夜十点半(一)——我的第一个Python程序“登录系统”...相关推荐
- python刷抖音浏览_告别刷抖音!30秒一个Python小例子,总有一款适合你
小编每天上班坐地铁,不是刷抖音就是煲电视剧,不是我不想学习,主要是短视频太好看了,30秒一个,刷刷刷的不停啊.如果Python也有30秒学习的小例子,我也一定会看呢. 于是小编收录整理了一些30秒一个 ...
- 设计一个分步式登录系统_分布式系统:何时构建它们以及如何扩展。 分步指南。
设计一个分步式登录系统 It always strikes me how many junior developers are suffering from impostor syndrome whe ...
- python能不能互动执行_细思恐极,插上U盘就开始执行Python代码
原标题:细思恐极,插上U盘就开始执行Python代码 昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索( ...
- mybatis代码自动生成器_最近很火的文章自动生成器,python源码公开了(内附python代码)
学了python,但是又不知道可以用来干嘛.开发一个计算器?太low了.开发一个网站?感觉网站涉及太多知识点,一个人搞不定.不用慌,本文介绍一个最近很火的一个文章自动生成器,它是用python写的,能 ...
- python运行代码不成功_命令行执行python模块时提示包找不到的问题
庄稼人不是专职python开发的道友,虽然与python相识已多年,可惜相识不相知,只是偶尔借助pydev写一些简单的小工具. 多年来,一直困惑于这样一个问题:同样的工程,同样的代码,使用pydev可 ...
- python输入代码如何清除_如何清空python
执行python命令会进入Python控制台.在Python控制台中可以用交互的方式执行Python语句.也就是执行一行Python语句,会立刻返回执行结果. 当Python控制台输入过多的Pytho ...
- python数据分析要学多久_如何七周成为数据分析师18:Python的新手教程
本文是<如何七周成为数据分析师>的第十八篇教程,如果想要了解写作初衷,可以先行阅读七周指南.温馨提示:如果您已经熟悉Python,大可不必再看这篇文章,或只挑选部分. Python是近年来 ...
- python怎么用大数据分析师_如何七周成为数据分析师18:Python的新手教程
本文是<怎样 七周成为数据剖析 师>的第十八篇教程,假定 想要了解 写作初衷,能够 先行阅读七周指南.温馨提示:假定 您曾经 熟习 Python,大可不用 再看这篇文章,或只选择 部分 . ...
- python什么是入口文件_小问题大隐患:如何正确设置 Python 项目的入口文件?
有一位同学提到了 Python 找不到模块的问题: 问题涉及到的代码结构和代码截图如下: 这个问题的解决方法非常简单,就是把start.py文件从bin文件夹移出来就好了. 但如果对这个问题进一步分析 ...
最新文章
- java redis 主从 哨兵_Redis主从复制与哨兵机制
- seaborn系列 (14) | 条形图barplot()
- 通过代码来调用log4net写日志
- 给你们讲讲我自己是怎么学习Linux系统的
- Python 中的万能之王 Lambda 函数
- C字符数组赋值(转)
- 首款搭载鸿蒙os的设备,华为发布会配件汇总,首款搭载 鸿蒙OS 的设备来了
- python spark hadoop_使用Scala或Python列出存储在Hadoop HDFS上的Spark群集中可用的所有文件?...
- Hbase shell练习题
- 拓端tecdat|用R语言模拟随机服务排队系统
- composer 安装php endroid/qrcode二维码应用,二维码里面添加logo
- Java //PP1.3 编写一个程序,分行显示你的名字、生日、爱好、最喜欢的书及最喜欢的电影。
- 解决 required a bean of type ‘com.aliyun.oss.OSSClient‘ that could not be found
- Java IDEA的使用
- “我只警告一次,下次我会直接忽略你发的垃圾,懂?”Linus 精彩炮轰语录集锦...
- 计算机网络---数据链路层PPP协议
- Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天|掘金技术征文
- java项目:批量修改文件名字
- 淘宝小部件在 2021 双十一中的规模化应用
- 分析Ajax请求并抓取今日头条街拍美图