二手产品经理

二手产品经理

THIS IS RENO

陣列 - 35天 - 在線學python100天

記錄#

  • 今天沒有學習新的知識點,練習陣列的用法。
  • 研究了一下正確答案和我寫程式碼,我認為答案的程式碼更像程式設計師的程式碼,更抽象一些。我的程式碼像流水帳。不過 chatgpt 這麼說。
  • 第一份程式碼是我寫的,哈哈

這兩份程式碼是用來管理待辦事項清單的簡單程式,它們都具有相同的基本功能,但在實現方式和程式碼結構上有一些區別。下面是對這兩份程式碼的優點和缺點進行比較:

第一份程式碼的優點:

  • 使用了更多的函數來封裝不同的操作,使得程式碼更具可讀性和可維護性。
  • 提供了對待辦事項清單的查看、添加、編輯和刪除功能,具備一定的靈活性和功能完整性。
  • 在編輯功能中,先刪除指定的事項,然後再添加新的事項,保持了操作的一致性。

第一份程式碼的缺點:

  • 使用了全域變數mylist來存儲待辦事項清單,而不是將其封裝在一個類或函數中,可能會導致程式碼的可擴展性和可重用性受限。
  • 程式碼中使用了一些硬編碼的部分,如清空終端螢幕的命令os.system("clear"),這樣的程式碼不夠靈活和可移植。

第二份程式碼的優點:

  • 將待辦事項清單的操作封裝在不同的函數中,程式碼更具可讀性和可維護性。
  • 使用了函數printList()來列印待辦事項清單,使得程式碼結構更清晰。
  • 在刪除事項時,增加了使用者確認的功能,提高了操作的安全性。

第二份程式碼的缺點:

  • 使用了全域變數toDoList來存儲待辦事項清單,可能會影響程式碼的可擴展性和可重用性。
  • 缺乏對使用者輸入的有效性驗證和錯誤處理,可能導致程式崩潰或產生錯誤結果。
  • 缺少一些功能,如編輯特定事項的功能。

綜上所述,這兩份程式碼都具有一定的功能和可讀性,但都有一些改進的空間。您可以根據具體需求和偏好選擇適合您的程式碼版本,並根據需要進行進一步的改進和擴展。


import os, time

print("待辦事項清單管理程式")
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} 已在清單中")
  else:
    mylist.append(l)
  print("添加成功")
  time.sleep(1)
  os.system("clear")


def remove(l):
  if l in mylist:
    mylist.remove(l)
  else:
    print(f"{l} 不在清單中。")


while True:
  print(
    "您想要查看、添加、編輯還是刪除待辦事項清單中的項目?")
  menu = input()
  if menu == "添加":
    mytxt = input("請輸入要添加的項目\n")
    add(mytxt)
  elif menu == "查看":
    view()
  elif menu == "編輯":
    mytxt1 = input("請輸入要刪除的項目\n")
    mytxt2 = input("請輸入要更改為的內容\n")
    remove(mytxt1)
    add(mytxt2)
  elif menu == "刪除":
    mytxt1 = input("請輸入要刪除的項目\n")
    sure = input(f"確定要刪除:{mytxt1}。是或否\n")
    if sure == "是":
      remove(mytxt1)
    else:
      continue
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。