Недавно закончил курс по 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 (как раз нашел на Степике курс и книгу в Интернете);
- возможность добавить подзадачи к основным задачам;
- сохранение данных, чтобы они хранились в памяти программы.
Вот так вот...