zoukankan      html  css  js  c++  java
  • 修改前后代码总结与反思

    修改前后代码总结与反思

    旧代码

    • #最主要的问题是如何进行函数以及代码的块的封装独立
      #如果不进行封装的时候,变量名的使用重复性的问题
      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 对于返回原的数据类型是极好的
  • 相关阅读:
    hdu 1260 Tickets
    hdu 4738 Caocao's Bridges(桥的最小权值+去重)
    找规律
    C语言快速排序
    数组的初始化方法
    C语言选择排序
    副本机制
    安装完Kali的后续操作
    Bool盲注
    Python中的列表
  • 原文地址:https://www.cnblogs.com/yangzilaing/p/13589110.html
Copyright © 2011-2022 走看看