# -*- coding: utf-8 -*- ''' @author:yhh @time:2023/2/28 8:47 ''' #一:今日作业: #1、编写文件copy工具 # file1=input("请输入你的源文件:") # file2=input("请输入你的源文件:") # with open(r'file1',mode='rt',encoding='utf-8') as f1,\ # open(r'file2',mode='wt',encoding='utf-8') as f2: # res=f1.read() # f2.write(res) #2、编写登录程序,账号密码来自于文件 ''' name=input('请输入你的账号:') password=input('请输入你的密码:') with open(r'db.txt',mode='rt',encoding='utf-8') as f: # line=f.read() 这里不能读,如果读的话就会爆露所有的密码 for line in f: user_name,user_pas=line.strip().split(':') if user_name==name and user_pas==password: print('successful') break else: print('fail')''' #3、编写注册程序,账号密码来存入文件 # name=input('请输入你的账号:') # pas=input('请输入你的密码:') # with open('z1',mode='wt',encoding='utf-8') as f: # f.write('{}:{}\n'.format(name,pas)) #二:周末综合作业: # 2.1:编写用户登录接口 #1、输入账号密码完成验证,验证通过后输出"登录成功" #2、可以登录不同的用户 #3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定) # # name=input('your name>>: ') # # pwd=input('your password>>: ') # # with open('db.txt',mode='at',encoding='utf-8') as f: # # f.write('{}:{}\n'.format(name,pwd)) # 这四行代码是将密码存储在硬盘的文件夹里 # inp_user_name=input('your name:').strip() # inp_user_pas=input('your password:').strip() # with open('db.txt',mode="rt",encoding='utf-8') as f: # for line in f: # user_name,user_pas=line.strip().split(':') # # if inp_user_name==user_name and inp_user_pas==user_pas: # print("登陆成功") # break # else: # print("登录失败") # 将上面的四行代码和之前所写的登录模式结合在一起就能够做成一个注册,再登陆的系统 # 2.2:编写程序实现用户注册后(注册到文件中),可以登录(登录信息来自于文件) # 提示: # 获取用户输入的用户名和密码 flag = True black_list = [] while flag: in_user = input('请输入用户名:').strip() in_pwd = input('请输入密码:').strip() # 打开两个文件,可读写模式 # with open('black_users.txt',mode='rt+',encoding='utf-8') as f1,\ # open('db.txt',mode='rt',encoding='utf-8') as f2: # # 先判断是否在黑名单内,如果在,直接锁定,退出循环 # for line in f1: # username = line.strip() # if username == in_user: # print('抱歉您的账号被锁定') # flag = False # break # # 如果不在,则判断用户名、密码是否与已知的一致,一致则登陆成功 # for line in f2: # username,password = line.strip().split(':') # if username == in_user and password == in_pwd: # print('登陆成功') # flag = False # break # # 如果符合锁定条件,则开始计数,准备锁定账号 # elif username == in_user and password != in_pwd: # print('账号密码错误') # black_list.append(in_user) # # 同一个账号,密码输错三次则锁定 # if black_list.count(in_user) >= 3: # flag = False # print('抱歉,您的密码输错三次,账号已被锁定') # username = in_user + '\n' # f1.write(username) # break while True: msg = """ 0 退出 1 登录 2 注册 """ print(msg) cmd = input('请输入命令编号>>: ').strip() if not cmd.isdigit(): print('必须输入命令编号的数字,傻叉') continue if cmd == '0': break elif cmd == '1': count=0 while count<3: name=input('your name:') pas=input('your pas') with open('db.txt',mode='rt',encoding='utf-8') as f: for line in f: user_name,user_pas=line.strip().split(':') if name==user_name and pas==user_pas: print('sucessful') break else: print('fail') count+=1 # 登录功能代码(附加:可以把之前的循环嵌套,三次输错退出引入过来) pass elif cmd == '2': # 注册功能代码 pass else: print('输入的命令不存在')
day11 作业
最新推荐文章于 2024-10-14 17:26:50 发布