1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python编辑用户登录界面_python编辑用户登入界面的实现代码

python编辑用户登录界面_python编辑用户登入界面的实现代码

时间:2023-01-16 05:06:38

相关推荐

python编辑用户登录界面_python编辑用户登入界面的实现代码

1.需求分析

登入界面需要达到以下要求:

系统要有登入和注册两个选项可供选择

系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user_info.txt文件夹中

系统要能够进行登入错误次数统计并锁定,当用户输入3次错误时账户密码时,改账户被锁定,并将锁定账户保存于login_lock.txt文件夹中

注册界面要能够进行用户名重复提示,当用户注册账户已存在时,进行相应信息的提示。

1.代码实现

getNum = int(input("1.登入\n2.注册\nPlease Input the Choose :"))

while getNum<1 or getNum>2:

getNum =int(input("无效值 :"))

username = input("用户名: ")

password = input("密码: ")

if getNum == 1:#登入

ErrNums = 0

while ErrNums<3:

T = False

fp = open('login_lock.txt','r')#打开锁定文件查看输入的账户是否被锁定

lines = fp.readlines()#读取所有行

while T== False:

for line in lines:

if line.split(',')[0] == username:

print("帐号已被锁定 !")

username = input("用户名: ")

password = input("密码: ")

break

T=True

fp.close()

T = False

fp_user = open('user_info.txt','r')#打开用户信息文件:

lines = fp_user.readlines()

for line in lines:

if line.split(',')[0] == username:

if line.split(',')[1] == password+'\n'or line.split(',')[1] == password:

print("登入成功 !")

T = True

break

fp_user.close()

if T == False:#登入失败了

ErrNums += 1

if ErrNums >= 3:

fp_user = open('login_lock.txt','a')

print("账户已被锁定 !")

fp_user.write('\n'+username)

fp_user.close()

break

print("账户名或密码错误 !")

username = input("用户名: ")

password = input("密码: ")

else:

break

elif getNum == 2:#注册

fp= open('user_info.txt','r')#打开用户信息文件:

T = False

lines = fp.readlines() # 读取所有行

while T == False:

for line in lines:

if line.split(',')[0] == username:

print("帐号已存在,请重新输入 !")

username = input("用户名: ")

password = input("密码: ")

break

T = True

fp.close()

fp = open('user_info.txt', 'a') # 打开用户信息文件:

fp.write(username+','+password+'\n')

print("注册成功 !")

user_info.txt文件的内容如下图:

代码的重要部分都有注解,txt文件的创建目前存放与工程目录中,使用相对路径方便调用,如不在该文件夹中则代码中的路径需要改成绝对路径,否则程序运行后会有问题。代码中仍有不完善的地方,忘有经验的朋友给句指出与探讨。

总结

以上所述是小编给大家介绍的python编辑用户登入界面的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。