二手产品经理

二手产品经理

THIS IS RENO

数组 - 35天 - 在线学python100天

记录#

  • 今天没有学习新的知识点,练习数组的用法。
  • 研究了一下正确答案和我写代码,我认为答案的代码更像程序员的代码,更抽象一些。我的代码像流水账。不过 chatgpt 这么说。
  • 第一份代码是我写的,哈哈

这两份代码是用来管理待办事项清单的简单程序,它们都具有相同的基本功能,但在实现方式和代码结构上有一些区别。下面是对这两份代码的优点和缺点进行比较:

第一份代码的优点:

  • 使用了更多的函数来封装不同的操作,使得代码更具可读性和可维护性。
  • 提供了对待办事项清单的查看、添加、编辑和删除功能,具备一定的灵活性和功能完整性。
  • 在编辑功能中,先删除指定的事项,然后再添加新的事项,保持了操作的一致性。

第一份代码的缺点:

  • 使用了全局变量mylist来存储待办事项清单,而不是将其封装在一个类或函数中,可能会导致代码的可扩展性和可重用性受限。
  • 代码中使用了一些硬编码的部分,如清空终端屏幕的命令os.system("clear"),这样的代码不够灵活和可移植。

第二份代码的优点:

  • 将待办事项清单的操作封装在不同的函数中,代码更具可读性和可维护性。
  • 使用了函数printList()来打印待办事项清单,使得代码结构更清晰。
  • 在删除事项时,增加了用户确认的功能,提高了操作的安全性。

第二份代码的缺点:

  • 使用了全局变量toDoList来存储待办事项清单,可能会影响代码的可扩展性和可重用性。
  • 缺乏对用户输入的有效性验证和错误处理,可能导致程序崩溃或产生错误结果。
  • 缺少一些功能,如编辑特定事项的功能。

综上所述,这两份代码都具有一定的功能和可读性,但都有一些改进的空间。您可以根据具体需求和偏好选择适合您的代码版本,并根据需要进行进一步的改进和扩展。


import os, time

print("To Do List Manager")
print()

mylist = []


def view():
  for item in mylist:
    print(item)
  time.sleep(2)
  os.system("clear")


def add(l):
  if l in mylist:
    print(f"{l} in the list")
  else:
    mylist.append(l)
  print("add success")
  time.sleep(1)
  os.system("clear")


def remove(l):
  if l in mylist:
    mylist.remove(l)
  else:
    print(f"{l} not in list.")


while True:
  print(
    "Do you want to view, add, edit, or remove an item from the to do list?")
  menu = input()
  if menu == "add":
    mytxt = input("What do you want to add\n")
    add(mytxt)
  elif menu == "view":
    view()
  elif menu == "edit":
    mytxt1 = input("What do you want to remove\n")
    mytxt2 = input("What do you want to change it to?\n")
    remove(mytxt1)
    add(mytxt2)
  elif menu == "remove":
    mytxt1 = input("What do you want to remove\n")
    sure = input(f"remove: {mytxt1}。yes or no\n")
    if sure == "yes":
      remove(mytxt1)
    else:
      continue
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。