Недавно закончил курс по Python и решил написать первую программу

Прошу любить и жаловать - простой список задач!

Код написал по гайду с Ютуба, проверял через нейросеть (чтобы она нашла косяки, если не могу понять где ошибся). Выкладываю код на всеобщее обозрение - можете в комментариях написать, какой я говнокодер.

tasks = [] def add(): task = input('Что нужно сделать?') tasks.append({'Задача': task, "Статус": "невыполнено"}) print('Задача добавлена!\n') def view(): print('Вот что вам сегодня надо сделать: \n') if len(tasks) == 0: print('На сегодня задач нет :)\n') else: for index, task in enumerate(tasks, 1): print(f"{index}: {task['Задача']} - {task['Статус']}") print('\n') def remove(): if len(tasks) == 0: print('В списке нет никаких задач') else: try: search = int(input('Введите номер задачи, которую вы хотите удалить: ')) - 1 if 0 <= search < len(tasks): removed = tasks.pop(search) print(f"Задача удалена из списка: {removed['Задача']}") else: print('Задачи под этим номером нет!') except ValueError: print('Пожалуйста, введите правильный номер задачи! \n') def mark(): if len(tasks) == 0: print('В списке нет никаких задач') else: try: search = int(input('Введите номер задачи, которую вы выполнили \n')) - 1 if 0 <= search < len(tasks): tasks[search]['Статус'] = 'выполнена' print(f"Задача «{tasks[search]['Задача']}» выполнена!") else: print('Задачи под этим номером нет!') except ValueError: print('Пожалуйста, введите правильный номер задачи!') def menu(): while True: print('=== МЕНЮ ===') print('1. Добавить задачу') print('2. Посмотреть все задачи') print('3. Отметить задачу') print('4. Удалить задачу') print('5. Выйти') choice = input('Выберите раздел\n') if choice == "1": add() elif choice == "2": view() elif choice == "3": mark() elif choice == "4": remove() elif choice == "5": print('Хорошего дня!') exit() else: print('Выберите один из предложенных вариантов!') if __name__ == "__main__": menu()

Выписал для себя план, что я хочу сделать дальше. Точно я знаю:

  • UI через tkinter (как раз нашел на Степике курс и книгу в Интернете);
  • возможность добавить подзадачи к основным задачам;
  • сохранение данных, чтобы они хранились в памяти программы.

Вот так вот...

4