🧠 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é! ✨