修改前后代码总结与反思
旧代码
-
#最主要的问题是如何进行函数以及代码的块的封装独立 #如果不进行封装的时候,变量名的使用重复性的问题 f = open('resgister','a',encoding='utf-8') print('***********用户注册***********') while True: name = input('请输入用户名(N退出):') if name.upper() == "N": break password = input('请输入密码:') from datetime import datetime resgister_time=datetime.now() str_resgister_time = resgister_time.strftime('%Y-%m-%d %H:%M:%S') f.write(str({name:password}) + "\n") print("注册时间为:" + str_resgister_time) #***********************用户登录*********************** print('************用户登录******************') dict_name = [] for li in open('resgister','r'): #每一行进行文件的读取 dict_name.append(eval(li)) n = 0 h = True while h: load_name = input('请输入登录名:') load_password = input('请输入登录密码:') n = n + 1 for i in dict_name: if {load_name: load_password} == i: h = False print("登录成功") break if n >= 3: break if h == True: print('账户已被冻结')
总结
缺点:
- 修改前代码没有采用函数进行分块
- 缺点:
- 1.界限不明显
- 2.变量的命名容易重复
- 特殊符号( | ) strip的以及%s搭配 没有利用,反而采用的更为复杂的字典的键值对的方式,这应用范围较窄
- 功能出现了阉割
优点:
- eval 对于返回原的数据类型是极好的