40 lines
2.4 KiB
Python
40 lines
2.4 KiB
Python
# ====
|
||
# ГОТОВЫЙ КЛАСС СОЗДАНИЯ МЕНЮ
|
||
# ====
|
||
|
||
# Для учителей по питону, в целях того что я знаю что у меня в коде:
|
||
# class - шаблон для создания обьектов для удобного вызова.
|
||
# __init__ - функция инициализации класса.
|
||
# self.x - функция получения аттрибутов.
|
||
# try/except - функция проверки ошибок для вывода своего текста вместо traceback.
|
||
# def func(self) - self в функции необходим для ссылки на обьект класса(тоесть обязательный параметр).
|
||
|
||
class Menu: # Класс меню, для легкого создания меню заданий
|
||
def __init__(self, date, dict_tasks): # Инициализируем класс с значениями
|
||
self.date = date # Число домашней работы
|
||
self.dict_tasks = dict_tasks # Словарь задач
|
||
|
||
def Tasks(self): # Вывод таблицы заданий
|
||
print(f"Домашнее задание от {self.date}")
|
||
print(f"Список заданий:")
|
||
print("::"*8)
|
||
for key,value in self.dict_tasks.items(): # создание списка заданий
|
||
print(f":-{key} - {value[0]}.")
|
||
print(":-0 - Выход.")
|
||
print("::"*8)
|
||
|
||
def Answer(self): # Ввод задания
|
||
while True:
|
||
try: # Использую проверку ошибок для тех кто введет не верное значение.
|
||
ans = int(input(":> "))
|
||
if ans == 0: # Проверяем введен ли выход из программы
|
||
print(":>> Выход!")
|
||
break
|
||
elif ans in self.dict_tasks: # Проверка числа задания в словаре
|
||
self.dict_tasks[ans][1]()
|
||
else: # Иначе выводим что задание не существует
|
||
print(":>> Задания не существует!")
|
||
except ValueError: # Если значение равно тексту или пустоте то выводится сообщение.
|
||
print(":>> Введите число!")
|
||
|