day11作业

  1 # #一:今日作业:
  2 # #1、编写文件copy工具
  3 #
  4 # inp_file = input('请输入您想要拷贝的源文件路径:')
  5 # copy_file = input('请输入你想要存放拷贝数据的源文件路径:')
  6 # with open(inp_file, mode='rt',encoding='utf-8') as f1,\
  7 #     open(copy_file,mode='wt',encoding='utf-8') as f2:
  8 #     copy_data = f1.read()
  9 #     f2.write(copy_data)
 10 #     print(f2)
 11 
 12 # # #2、编写登录程序,账号密码来自于文件
 13 #
 14 # inp_user = input('请输入您的账号名:')
 15 # inp_pass = input('请输入您的密码:')
 16 # with open('user.txt',mode='rt',encoding='utf-8') as f1:
 17 #     for line in f1:
 18 #         username,password = line.strip().split(':')
 19 #         if inp_user==username and inp_pass==password:
 20 #             print('登陆成功!')
 21 #             break
 22 #     else:
 23 #         print('您的帐号或者密码输入错误,请重新输入!')
 24 # #3、编写注册程序,账号密码来存入文件
 25 #
 26 # reg_user = input('请输入您想要注册的用户名:')
 27 # reg_pass = input('请输入您想要注册账号密码:')
 28 # with open('user.txt',mode='at',encoding='utf-8') as f2:
 29 #     f2.write('{}:{}\n'.format(reg_user,reg_pass))
 30 # # #二:周末综合作业:
 31 # # 2.1:编写用户登录接口
 32 # #1、输入账号密码完成验证,验证通过后输出"登录成功"
 33 # #2、可以登录不同的用户
 34 # #3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定)
 35 #
 36 # #
 37 # for i in range(3):
 38 #     inp_user = input('请输入您的账号名:')
 39 #     inp_pass = input('请输入您的密码:')
 40 #     with open('user.txt',mode='rt',encoding='utf-8') as f1:
 41 #         for line in f1:
 42 #             username,password = line.strip().split(':')
 43 #             if inp_user==username and inp_pass==password:
 44 #                 print('登陆成功!')
 45 #                 break
 46 #         else:
 47 #             if i==2:
 48 #                 print('您的账户密码已经输入错误三次!')
 49 #             else:
 50 #                 print('您的帐号或者密码输入错误,请重新输入!')
 51     # # 2.2:编写程序实现用户注册后(注册到文件中),可以登录(登录信息来自于文件)
 52 # 提示:
 53 # tag = True
 54 # while tag:
 55 #     msg = """
 56 #     0 退出
 57 #     1 登录
 58 #     2 注册
 59 #     """
 60 #     print(msg)
 61 #     cmd = input('请输入命令编号>>: ').strip()
 62 #     if not cmd.isdigit():
 63 #         print('必须输入命令编号的数字,傻叉')
 64 #         continue
 65 #
 66 #     if cmd == '0':
 67 #         break
 68 #     elif cmd == '1':
 69 #         # 登录功能代码(附加:可以把之前的循环嵌套,三次输错退出引入过来)
 70 #         i = 0
 71 #         while i < 3:
 72 #             inp_user = input('请输入您的账号名:')
 73 #             inp_pass = input('请输入您的密码:')
 74 #             with open('user.txt', mode='rt', encoding='utf-8') as f1:
 75 #                 for line in f1:
 76 #                     username, password = line.strip().split(':')
 77 #                     if inp_user == username and inp_pass == password:
 78 #                         print('登陆成功!')
 79 #                         i = 3
 80 #                         break
 81 #                 else:
 82 #                     if i == 2:
 83 #                         print('您的账户密码已经输入错误三次,账户已锁定!')
 84 #                         tag = False
 85 #                     else:
 86 #                         print('您的帐号或者密码输入错误,请重新登录:')
 87 #                     i += 1
 88 #         pass
 89 #     elif cmd == '2':
 90 #         # 注册功能代码
 91 #         reg_user = input('请输入您想要注册的用户名:')
 92 #         reg_pass = input('请输入您想要注册账号密码:')
 93 #         with open('user.txt',mode='at',encoding='utf-8') as f2:
 94 #             f2.write('{}:{}\n'.format(reg_user,reg_pass))
 95 #         pass
 96 #     else:
 97 #         print('输入的命令不存在')
 98 # #
 99 #     # 思考:上述这个if分支的功能否使用其他更为优美地方式实现
100 
101 
102 user_info = {}
103 with open('user_info.txt', mode='rt', encoding='utf-8') as f:
104     for line in f:
105         user, pwd = line.strip().split(':')
106         user_info[user] = pwd
107 
108 while True:
109     username = input('请输入用户名:')
110     if username not in user_info:
111         print('用户不存在,是否注册?')
112         chase = input('请输入您的选择:Y/y注册,N/n重试:')
113         if chase == 'Y' or chase == 'y':
114             while True:
115                 username = input('输入新用户名:').strip()
116                 if username in user_info:
117                     print('用户名已存在!')
118                     continue
119 
120                 password = input('请输入密码:').strip()
121                 re_password = input('请输入密码:').strip()
122 
123                 if password == re_password:
124                     print('注册成功!')
125 
126                     with open(r'user_info.txt', mode='at', encoding='utf-8') as f:
127                         f.write(f'{username}:{password}\n')
128                     break
129                 else:
130                     print('两次输入的密码不一样')
131         else:
132             print('请重新输入账号!')
133         continue
134     password = input('请输入用户密码:')
135     if password == user_info.get(username):
136         print('登录成功!')
137         break
138     else:
139         print('密码错误')

 

posted @ 2021-09-18 14:54  likl-  阅读(18)  评论(0)    收藏  举报