Advertisement
Guest User

Untitled

a guest
Feb 18th, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.62 KB | None | 0 0
  1. """
  2. Простейший скелет для решения задач на Python3.
  3. Скелет разделён на четыре блока:
  4. 1 Область для импортов - специальная облась, куда можно писать свои import'ы
  5. 2 Дополнительные функции - блок дополнительных функций, необходимый для работы скелета
  6. 3 Блок решения задач в виде функций - блок решения "задач в функциях" def task_$()
  7. 4 Реализация выбора задач по их номеру - основной блок, в нём вы можете через консоль выбирать задачу
  8. Образец конструкции задачи:
  9. X - номер задачи !!!!!
  10. def task_X(): - стандартный метод процедурного типа
  11. task_number = X - у каждой задачи свой уникальный номер task_number
  12. # ЗДЕСЬ БУДЕТ РЕШЕНИЕ ЗАДАЧИ - вместо этого комментария вы пишете свое решение задачи
  13. ask_for_restart_task(task_number) - данная функция содержится в блоке 1 и служит для диалога с пользователем,
  14. рестартнуть задачу или уйти в главное меню выбора задач
  15. Как добавить новую задачу, если их количество больше, чем в скелете (по умолчанию 7):
  16. Для этого нам потребуется изменить блоки 2,3 и 4:
  17. В блоке 2 в функцию def start_task(task_number) добавляем дополнительные строки кода:
  18. elif task_number == X:
  19. task_X()
  20. В блоке 3 добавляем функцию def task_X() по образцу
  21. X - номер задачи
  22. В блоке 4 в длинную конструкцию if-elif-else добавляем дополнительные строки кода:
  23. elif task_number == X:
  24. task_X()
  25. """
  26.  
  27.  
  28. # Область для импортов
  29. ###################################################################
  30. # ЗДЕСЬ БУДУТ import'ы ПО НЕОБХОДИМОСТИ
  31. ###################################################################
  32.  
  33. # Дополнительные функции
  34. ###################################################################
  35. # Выводит пустую строку x раз
  36. def print_null(x):
  37. for i in range(x):
  38. print("")
  39.  
  40.  
  41. # Принтит, что задачи task_number не существует
  42. def print_error(task_number):
  43. print("Задачи " + str(task_number) + " не существует, повторите попытку")
  44.  
  45.  
  46. # Стартует задачу task_number через фильтрацию условиями
  47. def start_task(task_number):
  48. if task_number == 1:
  49. task_1()
  50. elif task_number == 2:
  51. task_2()
  52. elif task_number == 3:
  53. task_3()
  54. elif task_number == 4:
  55. task_4()
  56. elif task_number == 5:
  57. task_5()
  58. elif task_number == 6:
  59. task_6()
  60. elif task_number == 7:
  61. task_7()
  62. else:
  63. # DEBUG
  64. name = "def start_task(task_number)"
  65. print("Не определена задача " + str(task_number) + " в функции " + name)
  66. print("Добавьте задачу " + str(task_number) + " в функцию " + name + " согласно документации")
  67.  
  68.  
  69. # Диалог с пользователем о рестарте задачи или выходе в main()
  70. def ask_for_restart_task(task_number):
  71. print_null(1)
  72. print("Для перезапуска задачи " + str(task_number) + " напишите 1")
  73. print("Чтобы вернуться на главное меню, напишите 0")
  74.  
  75. while True:
  76. user_answer = int(input("Введите ваш ответ: "))
  77.  
  78. if user_answer == 0:
  79. print_null(1)
  80. main()
  81. elif user_answer == 1:
  82. print_null(1)
  83. start_task(task_number)
  84. else:
  85. print_null(1)
  86. print("Вы ввели неверное значение, повторите попытку")
  87. ###################################################################
  88.  
  89.  
  90. # Блок решения задач в виде функций
  91. ###################################################################
  92. def task_1():
  93. task_number = 1
  94. # ЗДЕСЬ БУДЕТ РЕШЕНИЕ ЗАДАЧИ
  95. ask_for_restart_task(task_number)
  96.  
  97.  
  98. def task_2():
  99. task_number = 2
  100. # ЗДЕСЬ БУДЕТ РЕШЕНИЕ ЗАДАЧИ
  101. ask_for_restart_task(task_number)
  102.  
  103.  
  104. def task_3():
  105. task_number = 3
  106. # ЗДЕСЬ БУДЕТ РЕШЕНИЕ ЗАДАЧИ
  107. ask_for_restart_task(task_number)
  108.  
  109.  
  110. def task_4():
  111. task_number = 4
  112. # ЗДЕСЬ БУДЕТ РЕШЕНИЕ ЗАДАЧИ
  113. ask_for_restart_task(task_number)
  114.  
  115.  
  116. def task_5():
  117. task_number = 5
  118. # ЗДЕСЬ БУДЕТ РЕШЕНИЕ ЗАДАЧИ
  119. ask_for_restart_task(task_number)
  120.  
  121.  
  122. def task_6():
  123. task_number = 6
  124. # ЗДЕСЬ БУДЕТ РЕШЕНИЕ ЗАДАЧИ
  125. ask_for_restart_task(task_number)
  126.  
  127.  
  128. def task_7():
  129. task_number = 7
  130. # ЗДЕСЬ БУДЕТ РЕШЕНИЕ ЗАДАЧИ
  131. ask_for_restart_task(task_number)
  132. ###################################################################
  133.  
  134.  
  135. # Реализация выбора задач по их номеру
  136. ###################################################################
  137. def main():
  138. while True:
  139. task_number = int(input("Введите номер задачи от 1 до 7: "))
  140.  
  141. if task_number == 1:
  142. task_1()
  143. elif task_number == 2:
  144. task_2()
  145. elif task_number == 3:
  146. task_3()
  147. elif task_number == 4:
  148. task_4()
  149. elif task_number == 5:
  150. task_5()
  151. elif task_number == 6:
  152. task_6()
  153. elif task_number == 7:
  154. task_7()
  155. else:
  156. print_error(task_number)
  157.  
  158. # Запуск программы по умолчанию в main()
  159. main()
  160. ###################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement