Skip to main content

🧠 Ngày 28 – Python Hằng ngày 365 ngày - Hoàn thiện To-Do List App (Phần 2)

· 2 min read

✨ Mục tiêu

  • Hoàn thiện các chức năng trong app:
    • Thêm công việc mới
    • Xem danh sách công việc
    • Đánh dấu đã hoàn thành
    • Xóa công việc

1. addTask(tasks_list) - Thêm công việc mới

def addTask(tasks_list):
print("\n>> Nhập công việc mới:")
title = input("Tên công việc: ")
task = {
"title": title,
"completed": False
}
tasks_list.append(task)
print("✅ Đã thêm công việc.")

2. viewTasks(tasks_list) - Xem danh sách công việc

def viewTasks(tasks_list):
if not tasks_list:
print("📭 Danh sách công việc trống.")
return

print("\n📋 Danh sách công việc:")
for idx, task in enumerate(tasks_list, start=1):
status = "✅" if task["completed"] else "⏳"
print(f"{idx}. {task['title']} [{status}]")

3. markComplete(tasks_list) - Đánh dấu hoàn thành

def markComplete(tasks_list):
if not tasks_list:
print("❌ Không có công việc nào.")
return

viewTasks(tasks_list)
try:
idx = int(input("Nhập số thứ tự công việc cần đánh dấu hoàn thành: "))
if 1 <= idx <= len(tasks_list):
tasks_list[idx-1]["completed"] = True
print("✅ Công việc đã được đánh dấu hoàn thành.")
else:
print("❌ Số không hợp lệ.")
except ValueError:
print("⚠️ Vui lòng nhập một số.")

4. deleteTask(tasks_list) - Xóa công việc

def deleteTask(tasks_list):
if not tasks_list:
print("📭 Không có gì để xóa.")
return

viewTasks(tasks_list)
try:
idx = int(input("Nhập số thứ tự công việc cần xóa: "))
if 1 <= idx <= len(tasks_list):
removed = tasks_list.pop(idx-1)
print(f"🗑️ Đã xóa công việc: {removed['title']}")
else:
print("❌ Số không hợp lệ.")
except ValueError:
print("⚠️ Vui lòng nhập một số.")

📖 Gợi ý tiếp theo

  • Ngày 29: Lưu trữ danh sách công việc vào file .json
  • Ngày 30: Đọa luồng menu bằng các module hoặc giao diện

✨ Bạn đã hoàn thành một app console Python có tính tương tác cơ bản! Hãy lưu lại và chia sẻ với bạn bè nếu bạn tự hào nhé! ✨