# #一:今日作业: # #1、编写文件copy工具 ''' while True: src_file = input('源文件路径>>: ').strip() # 校验源文件路径是否存在 import os if not os.path.exists(src_file): print('源文件不存在') continue dst_file = input('备份路径>>: ').strip() with open(r'{}'.format(src_file), mode='rt', encoding='utf-8') as f1, open(r'{}'.format(dst_file), mode='wt', encoding='utf-8') as f2: res = f1.read() f2.write(res) ''' # #2、编写登录程序,账号密码来自于文件 # user_info.txt文件中内容为 ''' tank:123 ''' # 答案 ''' username = input('请输入用户名: ') password = input('请输入密码: ') with open('user_info.txt', 'r', encoding='utf-8') as f: user_info = f.read() user, pwd = user_info.split(':') if username == user and password == pwd: print('登录成功!') else: print('登录失败!') ''' # #3、编写注册程序,账号密码来存入文件 ''' username = input('请输入用户名: ') password = input('请输入密码: ') with open('user_info2.txt', 'w', encoding='utf-8') as f: f.write('%s:%s' % (username, password) + ' ') ''' # #二:周末综合作业: # # 2.1:编写用户登录接口 # #1、输入账号密码完成验证,验证通过后输出"登录成功" # user_info2.txt文件中 ''' ---- user_info2.txt文件中数据 ---- tank:123 ''' # 答案 ''' while True: username = input('请输入用户名: ').strip() password = input('请输入密码: ').strip() with open('user_info2.txt', 'r', encoding='utf-8') as f: user, pwd = f.read().strip().split(':') if username == user and password == pwd: print('登录成功!') break else: print('用户名或密码错误!') ''' # #2、可以登录不同的用户 ''' ---- user_info3.txt文件中数据 ---- tank:123 egon:321 ''' # 答案 ''' tag = True while tag: username = input('请输入用户名: ').strip() with open('user_info3.txt', 'r', encoding='utf-8') as f: for line in f: user, pwd = line.strip().split(':') # print(user, pwd) if username == user: password = input('请输入密码: ').strip() if password == pwd: print('登录成功!') tag = False break else: print('密码错误!') ''' # #3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定) ''' ---- user_info4.txt文件中数据 ---- tank:123:0 egon:321:0 ''' # 答案 ''' tag = True while tag: username = input('请输入用户名: ').strip() with open('user_info4.txt', 'r', encoding='utf-8') as f, open('user_info5.txt', 'w', encoding='utf-8') as w: for line in f: user, pwd, locked = line.strip().split(':') # print(user, pwd, type(locked)) locked = int(locked) if locked == 3: print('当前用户已被锁定') if username == user: while locked < 3: password = input('请输入密码: ').strip() if password == pwd: print('登录成功!') tag = False break else: print('密码错误!') locked += 1 w.write(f'{user}:{pwd}:{locked} ') import os os.remove('user_info4.txt') # 将user_info5.txt修改为user_info4.txt os.rename('user_info5.txt', 'user_info4.txt') ''' # # 2.2:编写程序实现用户注册后,可以登录, # 提示: # while True: # msg = """ # 0 退出 # 1 登录 # 2 注册 # """ # print(msg) # cmd = input('请输入命令编号>>: ').strip() # if not cmd.isdigit(): # print('必须输入命令编号的数字,傻叉') # continue # # if cmd == '0': # break # elif cmd == '1': # # 登录功能代码(附加:可以把之前的循环嵌套,三次输错退出引入过来) # pass # elif cmd == '2': # # 注册功能代码 # pass # else: # print('输入的命令不存在') # 思考:上述这个if分支的功能否使用其他更为优美地方式实现 ''' dic = { '0': '退出', '1': '登录', '2': '注册', } while True: msg = """ 0 退出 1 登录 2 注册 """ print(msg) cmd = input('请输入命令编号>>: ').strip() if not cmd.isdigit(): print('必须输入命令编号的数字,傻叉') continue if cmd not in dic: print('输入有误') continue print(dic.get(cmd)) '''