python编辑用户登入界面
程序员文章站
2022-10-04 15:45:49
1.需求分析 登入界面需要达到以下要求: 1.代码实现 user_info.txt文件的内容如下图: 代码的重要部分都有注解,txt文件的创建目前存放与工程目录中,使用相对路径方便调用,如不在该文件夹中则代码中的路径需要改成绝对路径,否则程序运行后会有问题。代码中仍有不完善的地方,忘有经验的朋友给句 ......
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文件的创建目前存放与工程目录中,使用相对路径方便调用,如不在该文件夹中则代码中的路径需要改成绝对路径,否则程序运行后会有问题。代码中仍有不完善的地方,忘有经验的朋友给句指出与探讨。
下一篇: *拖拽元素,实现*排序