homework week 1

本文分享了使用Python实现登录接口的过程,通过读写TXT文件存储用户名和密码,设计了三次错误尝试后的用户锁定机制。文章详细记录了从需求理解到代码实现的全过程,包括遇到的问题及解决方案。

第一周的作业

首先来完成第二个作业, 编写登录接口, 因为视频上并没有相关的教程, 就在网上搜了一下读写文件的语句, 粗略了解.

 f1 = open("data.txt","r",encoding="utf-8") #PYTHON 3里只有OPEN来打开文件, 后面的状态是READ还是WRITE,有时需要添加解码格式

read:读取文件全部内容

readline:读取一行

readlines:读取每一行,并且放到一个list里

 

本作业的完成思路是在同文件夹下建立三个TXT文件本,分别命名data, data_lock, data_lock用来存放用户名跟密码.

打开文本读取指定的用户名跟密码后, 判断输入的用户名是否一致

用户名输入正确后 判断密码是否正确, 按要求加入输错三次后锁定当前用户

输错三次密码后 将当前用户的ID写入data_lock里, 在代码前面加入判定如果存在data_lock里的ID就锁定用户

*为了测试方便, 最后加了代码在锁定用户后 输入YES可以清空data_lock里存的用户名

 

最终代码如下:

------------------------------------------------


f1 = open("data.txt","r",encoding="utf-8")
data_user = f1.readline()

f2 = open("data_psd.txt","r",encoding="utf-8")
data_psd = f2.readline()
#data_psd = "abc"

f3 = open("data_lock.txt","r",encoding="utf-8")
data_lockid = f3.readline()


count = 0
logid = input("User name:")
if logid == data_lockid :
print("you are locked!")
count = 4

while logid != data_user :
print("Invalid user, Try again")
logid = input("User name:")

while count < 3 :
logpsd = input("Password:")
if logpsd == data_psd :
print("Welcome user {name} login!".format(name=logid))
break
if logpsd != data_psd :
count = count+1
print("wrong password, pls try again...")
if count == 3 :
fw = open("data_lock.txt","w")
fw.write(logid)
print("you try 3 times wrong password, you are locked!")
count = 4

if count == 4 :
newid = input("type 'yes' to clear all?")
if newid == "yes" :
fw = open("data_lock.txt", "w")
fw.write("nothing")
------------------------------------------------

 修改几次后 代码运行正常 功能都达到了, 编写过程有个插曲,密码那个判断一直出错,无论输入什么都是报密码不正确, 为此特意print(logpsd)来比对 看着完全一样却还是提示密码错, 最后才发现是TXT文件里密码后面加了个回车, 删除后解决. 因为不知道如何把用户名密码都放在同一个文件本里分别读取, 才用了3个TXT分别存放的笨方法, 希望后面能学到提高效率的方法

 

作业三....

暂时完全没有思路 其实题目都没懂 在代码运行界面怎么使用三级菜单?

 

转载于:https://www.cnblogs.com/codeshing/p/10348317.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值