11---我是今日作业
1、编写文件copy工具
src_file = input('请输入需要拷贝文件的路径:').strip() copy_file = input('请输入复制后新文件的路径:').strip() # 打开要复制的文件 with open('复制操作.txt', mode='r', encoding='utf-8') as f, \ open('复制操作【副本】.txt', mode='w', encoding='utf-8') as f1: res = f.read() f1.write(res)
2、编写登录程序,账号密码来自于文件
user_name = input('请输入用户名:').strip() password = input('请输入密码').strip() # 打开存在文件中的用户名和密码 with open('info.txt', mode='r', encoding='utf-8') as f: for line in f: name, pwd = line.strip().split('=') if user_name == name and password == pwd: print('登陆成功') break else: print('用户名或密码不正确')
3、编写注册程序,账号密码来存入文件
user_name = input('请输入昵称:') password = input('请输入密码:') with open('注册程序.txt','a',encoding='utf-8') as f: f.write(f'{user_name}:{password}\n') print('注册成功')
4、编写用户登录接口
#1、输入账号密码完成验证,验证通过后输出"登录成功"
#2、可以登录不同的用户
#3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定)
name_dic = {} error_name = [] with open('info.txt', 'r', encoding='utf-8') as f: # 将信息存入字典中 for line in f: name, pwd = line.strip().split('=') name_dic[name] = pwd with open('error_info.txt', 'r', encoding='utf-8') as f1: # 将信息存入列表中 for line in f1: error_name.append(line.strip()) while True: user_name = input('请输入用户名:') # 判断用户是否被锁定 if user_name in error_name: print('账号被锁定') break # 判断用户名是否存在 elif user_name in name_dic: for i in range(3): password = input('请输入密码:') # 判断密码是否正确 if password == name_dic[user_name]: print('登陆成功') break else: print('密码不正确') else: # 在用户名存在的情况下,密码输错三次锁定 print('已输错三次,被锁定') with open('error_info.txt', 'a', encoding='utf-8') as f1: f1.write('{user_name}\n'.format(user_name=user_name)) break else: print('不存在')
5、 注册
# """
# 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分支的功能否使用其他更为优美地方式实现/
# 实现用户注册 def login(): while True: user_name = input('your name:').strip() list_info = [] with open('info.txt','r',encoding='utf-8') as f: for info in f: name,pwd = info.strip().split(':') list_info.append(name) if user_name in list_info: print('用户名存在') continue else: password = input('password:').strip() with open('info.txt','a',encoding='utf-8') as f1: f1.write('{user_name}:{password}\n'.format(user_name=user_name,password=password)) print('注册成功') break # 实现用户登录 def logon(): for i in range(3): user_name = input('name:') user_password = input('password:') with open('info.txt','r',encoding='utf-8') as f: for info in f: name,password = info.strip().split(':') if name == user_name and password == user_password: print('login successful') break else: print('invalid username or password!')
break else: print('已输错三次') msg = """ 0 退出 1 登录 2 注册 """ print(msg) while True: cmd = input('inp your cmd:') if cmd.isdigit(): cmd = int(cmd) if cmd == 0: print('退出程序') elif cmd == 1: logon() elif cmd == 2: login() else: print('该功能不存在!') break else: print('must be number!')