ವಿಷಯಕ್ಕೆ ತೆರಳಿ

ಪ್ರಾಜೆಕ್ಟ್ 3: ಮಾಡಬೇಕಾದ ಕೆಲಸಗಳ ಪಟ್ಟಿ (To-Do List)

ಈ ಪ್ರಾಜೆಕ್ಟ್‌ನಲ್ಲಿ, ನಾವು ಒಂದು ಸರಳ ಕಮಾಂಡ್-ಲೈನ್ To-Do List ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತೇವೆ. ಬಳಕೆದಾರರು ತಮ್ಮ ಮಾಡಬೇಕಾದ ಕೆಲಸಗಳನ್ನು (tasks) ಸೇರಿಸಬಹುದು, ಪಟ್ಟಿಯನ್ನು ವೀಕ್ಷಿಸಬಹುದು, ಮತ್ತು ಪೂರ್ಣಗೊಂಡ ಕೆಲಸಗಳನ್ನು ತೆಗೆದುಹಾಕಬಹುದು.

ಕಲಿಕೆಯ ಪರಿಕಲ್ಪನೆಗಳು

  • ಲಿಸ್ಟ್‌ಗಳು (Lists) - ಕೆಲಸಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು.
  • ಫಂಕ್ಷನ್‌ಗಳು - ಕೋಡ್ ಅನ್ನು ಸಂಘಟಿಸಲು.
  • while ಲೂಪ್ - ಅಪ್ಲಿಕೇಶನ್ ಚಾಲನೆಯಲ್ಲಿಡಲು.
  • ಬಳಕೆದಾರರಿಂದ ಇನ್‌ಪುಟ್ ಪಡೆಯುವುದು.
  • enumerate() ಫಂಕ್ಷನ್ - ಲಿಸ್ಟ್ ಐಟಂಗಳನ್ನು ಅವುಗಳ ಇಂಡೆಕ್ಸ್‌ನೊಂದಿಗೆ ಪ್ರದರ್ಶಿಸಲು.
  • ಫೈಲ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್ (ಸರಳ open, read, write) - ಪಟ್ಟಿಯನ್ನು ಉಳಿಸಲು (persistence).

ಕೋಡ್

def display_tasks(tasks):
    """ಮಾಡಬೇಕಾದ ಕೆಲಸಗಳ ಪಟ್ಟಿಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ."""
    if not tasks:
        print("ನಿಮ್ಮ To-Do ಪಟ್ಟಿ ಖಾಲಿಯಾಗಿದೆ!")
    else:
        print("--- ನಿಮ್ಮ ಕೆಲಸಗಳು ---")
        for index, task in enumerate(tasks, start=1):
            print(f"{index}. {task}")
        print("--------------------")


def add_task(tasks):
    """ಪಟ್ಟಿಗೆ ಹೊಸ ಕೆಲಸವನ್ನು ಸೇರಿಸುತ್ತದೆ."""
    task = input("ಸೇರಿಸಬೇಕಾದ ಕೆಲಸವನ್ನು ನಮೂದಿಸಿ: ")
    tasks.append(task)
    print(f"'{task}' ಅನ್ನು ಪಟ್ಟಿಗೆ ಸೇರಿಸಲಾಗಿದೆ.")


def remove_task(tasks):
    """ಪಟ್ಟಿಯಿಂದ ಒಂದು ಕೆಲಸವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ."""
    display_tasks(tasks)
    if not tasks:
        return

    try:
        task_num_str = input("ತೆಗೆದುಹಾಕಬೇಕಾದ ಕೆಲಸದ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ: ")
        task_num = int(task_num_str)

        if 1 <= task_num <= len(tasks):
            removed_task = tasks.pop(task_num - 1)
            print(f"'{removed_task}' ಅನ್ನು ಪಟ್ಟಿಯಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ.")
        else:
            print("ತಪ್ಪಾದ ಸಂಖ್ಯೆ. ದಯವಿಟ್ಟು ಪಟ್ಟಿಯಲ್ಲಿರುವ ಸಂಖ್ಯೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ.")
    except ValueError:
        print("ತಪ್ಪಾದ ಇನ್‌ಪುಟ್. ದಯವಿಟ್ಟು ಸಂಖ್ಯೆಯನ್ನು ಮಾತ್ರ ನಮೂದಿಸಿ.")


def main():
    """ಅಪ್ಲಿಕೇಶನ್‌ನ ಮುಖ್ಯ ಫಂಕ್ಷನ್."""
    tasks = []  # ಕೆಲಸಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಖಾಲಿ ಲಿಸ್ಟ್

    while True:
        print("\n--- To-Do List ಮೆನು ---")
        print("1. ಕೆಲಸಗಳನ್ನು ವೀಕ್ಷಿಸಿ (View Tasks)")
        print("2. ಕೆಲಸವನ್ನು ಸೇರಿಸಿ (Add Task)")
        print("3. ಕೆಲಸವನ್ನು ತೆಗೆದುಹಾಕಿ (Remove Task)")
        print("4. ನಿರ್ಗಮಿಸಿ (Exit)")

        choice = input("ನಿಮ್ಮ ಆಯ್ಕೆಯನ್ನು ನಮೂದಿಸಿ (1/2/3/4): ")

        if choice == '1':
            display_tasks(tasks)
        elif choice == '2':
            add_task(tasks)
        elif choice == '3':
            remove_task(tasks)
        elif choice == '4':
            print("ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ನಿರ್ಗಮಿಸಲಾಗುತ್ತಿದೆ. ಧನ್ಯವಾದಗಳು!")
            break
        else:
            print("ತಪ್ಪಾದ ಆಯ್ಕೆ. ದಯವಿಟ್ಟು ಮೆನುವಿನಿಂದ ಆಯ್ಕೆಮಾಡಿ.")


if __name__ == "__main__":
    main()

ವಿವರಣೆ

  1. tasks = []: ನಮ್ಮ ಎಲ್ಲಾ ಕೆಲಸಗಳನ್ನು (tasks) ಸ್ಟ್ರಿಂಗ್‌ಗಳಾಗಿ ಸಂಗ್ರಹಿಸಲು ನಾವು ಒಂದು ಖಾಲಿ ಲಿಸ್ಟ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ.
  2. display_tasks(tasks): ಈ ಫಂಕ್ಷನ್ ಪಟ್ಟಿಯಲ್ಲಿರುವ ಎಲ್ಲಾ ಕೆಲಸಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. enumerate() ಫಂಕ್ಷನ್ ಬಳಸಿ, ನಾವು ಪ್ರತಿ ಕೆಲಸಕ್ಕೂ 1 ರಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಸಂಖ್ಯೆಯನ್ನು ನೀಡುತ್ತೇವೆ, ಇದು ಬಳಕೆದಾರರಿಗೆ ಓದಲು ಸುಲಭವಾಗುತ್ತದೆ.
  3. add_task(tasks): ಬಳಕೆದಾರರಿಂದ ಹೊಸ ಕೆಲಸವನ್ನು ಇನ್‌ಪುಟ್ ಆಗಿ ಪಡೆದು, ಅದನ್ನು append() ಮೆಥಡ್ ಬಳಸಿ tasks ಲಿಸ್ಟ್‌ನ ಕೊನೆಗೆ ಸೇರಿಸುತ್ತದೆ.
  4. remove_task(tasks): ಮೊದಲು ಪಟ್ಟಿಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ನಂತರ ಬಳಕೆದಾರರಿಂದ ತೆಗೆದುಹಾಕಬೇಕಾದ ಕೆಲಸದ ಸಂಖ್ಯೆಯನ್ನು ಕೇಳುತ್ತದೆ.
    • ಬಳಕೆದಾರರು ನೀಡಿದ ಸಂಖ್ಯೆಯು ಮಾನ್ಯವಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ (1 <= task_num <= len(tasks)).
    • pop(index) ಮೆಥಡ್ ಬಳಸಿ ನಿರ್ದಿಷ್ಟ ಇಂಡೆಕ್ಸ್‌ನಲ್ಲಿರುವ ಕೆಲಸವನ್ನು ಲಿಸ್ಟ್‌ನಿಂದ ತೆಗೆದುಹಾಕುತ್ತದೆ. ನಾವು task_num - 1 ಅನ್ನು ಬಳಸುತ್ತೇವೆ ಏಕೆಂದರೆ ಲಿಸ್ಟ್ ಇಂಡೆಕ್ಸ್‌ಗಳು 0 ರಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತವೆ.
  5. main() ಫಂಕ್ಷನ್: ಇದು ಅಪ್ಲಿಕೇಶನ್‌ನ ಮುಖ್ಯ ಕಂಟ್ರೋಲ್ ಲೂಪ್ ಅನ್ನು ಹೊಂದಿದೆ. ಇದು ಬಳಕೆದಾರರಿಗೆ ಮೆನುವನ್ನು ತೋರಿಸುತ್ತದೆ ಮತ್ತು ಅವರ ಆಯ್ಕೆಯ ಆಧಾರದ ಮೇಲೆ ಸೂಕ್ತವಾದ ಫಂಕ್ಷನ್ ಅನ್ನು ಕಾಲ್ ಮಾಡುತ್ತದೆ.
  6. while True ಮತ್ತು break: ಬಳಕೆದಾರರು '4' (ನಿರ್ಗಮಿಸಿ) ಆಯ್ಕೆ ಮಾಡುವವರೆಗೆ ಅಪ್ಲಿಕೇಶನ್ ಚಾಲನೆಯಲ್ಲಿರಲು ಈ ಲೂಪ್ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. break ಸ್ಟೇಟ್‌ಮೆಂಟ್ ಲೂಪ್ ಅನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ.