python注册登陆程序_python基础篇---实战---用户登入注册程序

一、首先了解需求:

1、支持多个用户登入

2、登入成功后显示欢迎,并退出程序

3、登入三次失败后,退出程序,并在下次程序启动尝试登入时,该用户名依然是锁定状态

二、文件代码如下:

f = open("C:\\Users\\Administrator\\Desktop\\lock_user.txt", "r")

f.seek(0)

data1 = f.readlines()

f.close() #读取文件中每一行的数据存为列表,以便判断是否是被锁定的用户名

username_dic = {"captain08":"123qwe","captain09":"124qwe","captain10":"125qwe","captain11":"126qwe",}

n = 0

while n < 3:

_username = input("请输入用户名:")

if _username not in username_dic:

print("输入的用户名不存在,请重新输入")

continue

elif _username in data1:

#判断输入的用户名是否是黑名单

print("此用户被锁定,请与管理员联系")

exit()

else:

_password = input("请输入密码 :")

if _password == username_dic[_username]:

print("welcome",_username)

break

else:

print("密码错误,请重新输入")

n += 1

else:

f = open("C:\\Users\\Administrator\\Desktop\\lock_user.txt","r+")

data = f.readlines()

#读取文件,是为了将光标停留在文件的最后一格

f.write("\n"+_username)

#将加入黑名单的用户名写入文件内

f.close()

三、代码还可优化处:

else: f = open("C:\\Users\\Administrator\\Desktop\\lock_user.txt","r+")

data = f.readlines() #读取文件,是为了将光标停留在文件的最后一格

f.write("\n"+_username) #将加入黑名单的用户名写入文件内

f.close()

更改为:

else: f = open("C:\\Users\\Administrator\\Desktop\\lock_user.txt","a")

f.write("\n"+_username)     #将加入黑名单的用户名写入文件内

f.close()

四、解题思路:

1、多个用户信息需存放,用字典的形式

2、重复三次需要用同样的代码,需用while语句

3、将输入的信息与字典内的用户名和密码进行条件判断,以此来判断登入成功与否

4、锁定用户名问题转化成通俗易懂的问题:输入的用户名信息与黑名单内容进行条件判断,若在内,用exit()退出程序。

5、运用文件的open语句建立黑名单内容

五、做题感受

①由于基础的不扎实,中途未掌握的知识点:

1、readlines后的list与文件内的内容无关,list是存在内存中的

2、writelines(list):list所有元素连在一起成一行str

3、list._str_()是将列表的所有字符全部转化成str,包括中括号,逗号

4、文件open方式:r,r+(读写),a(追加:会将光标直接移到文件末端),w

②解题思路优化

实际需求必须加深理解,并将需求转化成程序语言能解决的需求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值