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(":>> Введите число!")
|
|||
|
|
|