From 20773a5f7eefc06376976fae54742052908d17f4 Mon Sep 17 00:00:00 2001 From: asemasda Date: Wed, 23 Apr 2025 08:29:17 +0200 Subject: [PATCH 1/4] Completed Homework --- asem_week_3_hw.py | 91 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 asem_week_3_hw.py diff --git a/asem_week_3_hw.py b/asem_week_3_hw.py new file mode 100644 index 0000000..d28171b --- /dev/null +++ b/asem_week_3_hw.py @@ -0,0 +1,91 @@ +tasks = [] + +while True: + print("\n1. Add Task") + print("2. Complete Task") + print("3. Delete Task") + print("4. List Completed Tasks") + print("5. List All Tasks") + print("6. Exit") + choice = input("Choose an option: ") + + #1. Add Task and with deleted id reuse + if choice == '1': + task_name = input("Enter task name: ") + reused = False + + for i in range(len(tasks)): + if tasks[i]["status"] == "Deleted": + reused_id = tasks[i]["id"] + tasks[i] = { + "id": reused_id, + "name": task_name, + "status": "Pending" + } + print(f"Task added using deleted slot with ID {reused_id}") + reused = True + break + + if not reused: + new_id = len(tasks) + 1 + task = { + "id": new_id, + "name": task_name, + "status": "Pending" + } + tasks.append(task) + print(f"Task added with new ID {new_id}") + + # 2. Complete Task + elif choice == '2': + task_complete = int(input("Enter task ID to mark as completed: ")) + found = False + + for task in tasks: + if task["id"] == task_complete and task["status"] != "Deleted": + task["status"] = "Completed" + print("Task marked as completed.") + found = True + break + + if not found: + print("Task not found or already deleted.") + + # 3. Delete Task + elif choice == '3': + task_delete = int(input("Enter task ID to delete: ")) + found = False + + for task in tasks: + if task["id"] == task_delete and task["status"] != "Deleted": + task["status"] = "Deleted" + print("Task marked as deleted.") + found = True + break + + if not found: + print("Task not found or already deleted.") + + # 4. List Completed Tasks + elif choice == '4': + print("\n Completed Tasks:") + for task in tasks: + if task["status"] == "Completed": + print(f"ID {task['id']}: {task['name']} [Completed]") + + # 5. List All Tasks and sorted by id + elif choice == '5': + print("\n All Tasks:") + def get_task_id(task): + return task["id"] + + for task in sorted(tasks, key=get_task_id): + print(f"ID {task['id']}: {task['name']} [{task['status']}]") + + # 6. Exit + elif choice == '6': + print(" Exiting Task Manager. Goodbye!") + break + + else: + print("Invalid option. Please choose 1–6.") \ No newline at end of file From af9227e325bb56a5bace267c734e88a03cbd60e7 Mon Sep 17 00:00:00 2001 From: Israakhalayli Date: Wed, 23 Apr 2025 23:06:14 +0200 Subject: [PATCH 2/4] Homework is done --- Israa_homework.py | 83 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 Israa_homework.py diff --git a/Israa_homework.py b/Israa_homework.py new file mode 100644 index 0000000..1fad804 --- /dev/null +++ b/Israa_homework.py @@ -0,0 +1,83 @@ +tasks_info={} +delete_numbers=[] +seq_num=0 + +def get_next_sequence_number(): + global seq_num + if delete_numbers: + return delete_numbers.pop(0) + else: + seq_num+=1 + return seq_num + +def add_task(): + global seq_num + task_name=input('enter the task: ') + task_status='pending' + seq_num=get_next_sequence_number() + tasks_info[seq_num]={'name':task_name,'status':task_status} + print(f'Task {seq_num} is added') + + +def complete_task(): + task_num=int(input('Enter the task number to complete: ')) + if task_num in tasks_info and tasks_info[task_num]['status']!='Delete': + tasks_info[task_num]['status']='Complete' + print(f'Task {task_num} is completed') + else: + print(f'The task {task_num} is not found or already deleted') + +def delete_task(): + task_num=int(input('Enter the task number to delete: ')) + if task_num in tasks_info and tasks_info[task_num]['status']!='Delete': + tasks_info[task_num]['status']='Delete' + delete_numbers.append(task_num) + print(f'Task {task_num} is deleted') + else: + print(f'Task {task_num} is not found or already deleted') + +def list_task(): + print('Task List') + if tasks_info: + for seq,task in tasks_info.items(): + if task['status']!='Delete': + print(f'{seq} : {task['name']} - {task['status']}') + else: + print('No tasks available') + +def list_complete(): + if tasks_info.items(): + for seq,task in tasks_info.items(): + if task['status']=='Complete': + print(f'{seq}: {task['name']} is completed') + else: + print('No tasks are completed.') + + +def main(): + while True: + print("Task Manager ") + print("1. Add Task") + print("2. Complete Task") + print("3. Delete Task") + print("4. List All Tasks") + print("5. List Completed Tasks") + print("6. Exit") + + user_input=input('choise number: ') + if user_input=='1': + add_task() + elif user_input=='2': + complete_task() + elif user_input=='3': + delete_task() + elif user_input=='4': + list_task() + elif user_input=='5': + list_complete() + elif user_input=='6': + break + else: + print('Invalid choise, please Try again') + +main() From bd678c8d996aef9b46ca74e6163800e0ce400093 Mon Sep 17 00:00:00 2001 From: mabaz1985 Date: Fri, 25 Apr 2025 18:44:16 +0200 Subject: [PATCH 3/4] Mohammad wee3 --- Mohammad_week3_homework.py | 84 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 Mohammad_week3_homework.py diff --git a/Mohammad_week3_homework.py b/Mohammad_week3_homework.py new file mode 100644 index 0000000..f7ea9a9 --- /dev/null +++ b/Mohammad_week3_homework.py @@ -0,0 +1,84 @@ +tasks = [] + +def creat_id(): + for i in range(1, len(tasks) + 2): + if all(task['id'] != i for task in tasks): + return i + +def add_task(name): + task = { + 'id': creat_id(), + 'name': name, + 'status': 'Pending' + } + tasks.append(task) + print(f"the add task is dane: {name} (number: {task['id']})") + +def complete_task(task_id): + for task in tasks: + if task['id'] == task_id and task['status'] != 'deleted': + task['status'] = 'Completed' + print(f" the task number :{task_id} successful.") + return + print("task not found") + +def delete_task(task_id): + for task in tasks: + if task['id'] == task_id: + task['status'] = 'Deleted' + print(f"{task_id}. the task is deleted ") + return + print("the task is not found") + +def list_all_tasks(): + sorted_tasks = sorted(tasks, key=lambda x: x['id']) + print("\n#### list tasks ####") + for task in sorted_tasks: + print(f"[{task['id']}] {task['name']} - {task['status']}") + print("---------------------\n") + +def list_completed_tasks(): + completed = [task for task in tasks if task['status'] == 'Completed'] + print("\n--- tasks completed--") + for task in completed: + print(f"[{task['id']}] {task['name']}") + print("------------------------\n") + +def main(): + while True: + print("select process") + print("1. Add new task") + print("2.Complete a task") + print("3.Delete a task") + print("4. List all tasks with their status") + print("5.List completed tasks") + print("6.Exit") + + choice = input("inter ID of task: ") + + if choice == '1': + name = input("inter name of task: ") + add_task(name) + elif choice == '2': + try: + task_id = int(input("inter number task for completed: ")) + complete_task(task_id) + except ValueError: + print("pleas inter correct.") + elif choice == '3': + try: + task_id = int(input("inter task number for delet it")) + delete_task(task_id) + except ValueError: + print("pleas inter correct:") + elif choice == '4': + list_all_tasks() + elif choice == '5': + list_completed_tasks() + elif choice == '6': + print("good bay !") + break + else: + print("try agian .") +main() + From d7860b4c69d11ae967cd015cb03e94bab17843d3 Mon Sep 17 00:00:00 2001 From: filifili Date: Sat, 26 Apr 2025 16:41:44 +0200 Subject: [PATCH 4/4] week 3 homework is done --- fili_week3.py | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 fili_week3.py diff --git a/fili_week3.py b/fili_week3.py new file mode 100644 index 0000000..bad1ecd --- /dev/null +++ b/fili_week3.py @@ -0,0 +1,89 @@ +tasks=[] + +# add a task +def add_task(tasks): + task_name = input("Enter task: ") + sequence_num = len(tasks) + 1 + tasks.append({'id': sequence_num, 'name': task_name, 'status': 'Pending'}) + print("Task added.") + +# complete a task +def complete_task(tasks): + if not tasks: + print("No tasks.") + return + for task in tasks: + print(f"{task['id']}. {task['name']} - {task['status']}") + sequence_num = int(input("Enter task ID to complete: ")) + for task in tasks: + if task['id'] == sequence_num: + task['status'] = 'Completed' + print("Task completed.") + return + print("Task not found.") + +#list all completed tasks +def list_completed_tasks(tasks): + + if not tasks: + print("No tasks available.") + return + + completed_tasks = [task for task in tasks if task['status'] == 'Completed'] + if not completed_tasks: + print("No tasks completed.") + else: + print("\nCompleted Tasks:") + for task in completed_tasks: + print(f"{task['sequence_number']}. {task['task_name']}") + +# delete a task. +def delete_task(tasks): + if not tasks: + print("No tasks.") + return + for task in tasks: + print(f"{task['id']}. {task['name']} - {task['status']}") + sequence_num = int(input("Enter task ID to delete: ")) + for task in tasks: + if task['id'] ==sequence_num: + task['status'] = 'Deleted' + print("Task deleted.") + return + print("Task not found.") + +# show all tasks. +def show_tasks(tasks): + if not tasks: + print("No tasks.") + return + print("\nTasks:") + for task in tasks: + print(f"{task['id']}. {task['name']} - {task['status']}") + +# main function. +def main(): + tasks = [] + while True: + print("\nTask Manager:") + print("1. Add") + print("2. Complete") + print("3. Delete") + print("4. Show") + print("5. Exit") + choice = input("Choice: ") + if choice == '1': + add_task(tasks) + elif choice == '2': + complete_task(tasks) + elif choice == '3': + delete_task(tasks) + elif choice == '4': + show_tasks(tasks) + elif choice == '5': + print("Bye!") + break + else: + print("Invalid.") + +