fork download
  1. import sys
  2.  
  3. class FairyTaleApp:
  4. def __init__(self):
  5. self.tales = [
  6. {"title": "Колобок", "text": "Жили-были старик со старухой. Попросил старик старуху испечь колобок. По амбару помела, по сусекам поскребла - наскребла муки. Испекла колобок и положила на окошко остывать. Колобок покатился по дорожке и встретил Зайца, Волка, Медведя и Лису. Лиса его и съела.", "characters": ["Колобок", "Дед", "Баба", "Заяц", "Волк", "Медведь", "Лиса"]},
  7. {"title": "Репка", "text": "Посадил дед репку. Выросла репка большая-пребольшая. Стал дед репку тянуть: тянет-потянет, вытянуть не может. Позвал дед бабку. Бабка за дедку, дедка за репку - тянут-потянут, вытянуть не могут. Позвала бабка внучку. Внучка за бабку, бабка за дедку, дедка за репку - тянут-потянут, вытянуть не могут. И так далее, пока мышка не помогла.", "characters": ["Дед", "Бабка", "Внучка", "Жучка", "Кошка", "Мышка"]},
  8. {"title": "Теремок", "text": "Стоял в поле теремок. Бежала мимо мышка-норушка. Увидела теремок и стала в нем жить. Прискакала лягушка-квакушка, попросилась жить. Согласилась мышка. Прибежал зайчик-попрыгайчик, тоже попросился. Пустили его. Пришла лисичка-сестричка, потом волчок-серый бочок. Все жили дружно. Пришел медведь косолапый и раздавил теремок. Все звери разбежались.", "characters": ["Мышка", "Лягушка", "Зайчик", "Лисичка", "Волчок", "Медведь"]},
  9. {"title": "Курочка Ряба", "text": "Жили-были дед да баба. Была у них курочка Ряба. Снесла курочка яичко, да не простое, а золотое. Дед бил - не разбил. Баба била - не разбила. Мышка бежала, хвостиком махнула, яичко упало и разбилось. Дед плачет, баба плачет, а курочка говорит: 'Не плачь, дед, не плачь, баба, снесу я вам новое яичко, не золотое, а простое.'", "characters": ["Дед", "Баба", "Курочка Ряба", "Мышка"]},
  10. {"title": "Маша и медведь", "text": "Ушла Маша в лес с подружками за грибами и ягодами. Заблудилась и набрела на избушку. В избушке жил медведь. Не отпускал он Машу домой. Заставил ее работать. Придумала Маша хитрость: попросилась отнести пирожки бабушке с дедушкой. Села в короб, а на медведя сверху пирожки. Медведь понес короб, а Маша говорит: 'Не садись на пенек, не ешь пирожок!' Донес медведь Машу до дома, а она выскочила и убежала.", "characters": ["Маша", "Медведь", "Бабушка", "Дедушка", "Подружки"]},
  11. {"title": "Гуси-лебеди", "text": "Родители ушли на работу, оставили дочку братца стеречь. Прилетели гуси-лебеди, унесли братца. Отправилась девочка его искать. Встретила печку, яблоню, речку. Помогли ей найти избушку Бабы-Яги. Выкрала братца и убежала. Гуси-лебеди погнались за ними. С помощью тех же помощников спряталась и вернулась домой как раз к приходу родителей.", "characters": ["Девочка", "Братец", "Гуси-лебеди", "Баба-Яга", "Печка", "Яблоня", "Речка"]},
  12. {"title": "Сестрица Аленушка и братец Иванушка", "text": "Жили-были сестрица Аленушка и братец Иванушка. Остались они сиротами. Пошли они в лес, захотел Иванушка пить из козьего копытца. Не послушался сестры и стал козленочком. Забрала Аленушку в жены купец. Ведьма утопила Аленушку в реке, а сама прикинулась ею. Козленочек все рассказал купцу. Освободили Аленушку, а ведьму наказали. Стал Иванушка снова мальчиком.", "characters": ["Аленушка", "Иванушка", "Купец", "Ведьма", "Козленочек"]}
  13. ]
  14. def display_menu(self):
  15. print("=" * 50)
  16. print("РУССКИЕ НАРОДНЫЕ СКАЗКИ")
  17. print("=" * 50)
  18. print("\nСписок сказок:")
  19. for i, tale in enumerate(self.tales, 1):
  20. print(f"{i}. {tale['title']}")
  21. def display_tale(self, index):
  22. if 0 <= index < len(self.tales):
  23. tale = self.tales[index]
  24. print("\n" + "=" * 50)
  25. print(f"СКАЗКА: {tale['title']}")
  26. print("=" * 50)
  27. print("\nПЕРСОНАЖИ:")
  28. for char in tale["characters"]:
  29. print(f" • {char}")
  30. print(f"\nТЕКСТ СКАЗКИ:\n{tale['text']}")
  31. print("\n" + "-" * 50)
  32. print(f"Длина текста: {len(tale['text'])} символов")
  33. print(f"Количество персонажей: {len(tale['characters'])}")
  34. print("=" * 50)
  35. else:
  36. print("Ошибка: неверный номер сказки!")
  37. def show_stats(self):
  38. total_tales = len(self.tales)
  39. total_chars = sum(len(tale['characters']) for tale in self.tales)
  40. total_text = sum(len(tale['text']) for tale in self.tales)
  41. print("\n" + "=" * 50)
  42. print("СТАТИСТИКА")
  43. print("=" * 50)
  44. print(f"Всего сказок в базе: {total_tales}")
  45. print(f"Всего персонажей: {total_chars}")
  46. print(f"Среднее количество персонажей: {total_chars/total_tales:.1f}")
  47. print(f"Общий объем текста: {total_text} символов")
  48. print(f"Средняя длина текста: {total_text/total_tales:.0f} символов")
  49. print("=" * 50)
  50. def show_info(self, index):
  51. if 0 <= index < len(self.tales):
  52. tale = self.tales[index]
  53. print("\n" + "=" * 50)
  54. print(f"ИНФОРМАЦИЯ О СКАЗКЕ")
  55. print("=" * 50)
  56. print(f"Название: {tale['title']}")
  57. print(f"Количество персонажей: {len(tale['characters'])}")
  58. print(f"Длина текста: {len(tale['text'])} символов")
  59. print(f"Первые 100 символов текста:\n{tale['text'][:100]}...")
  60. print("=" * 50)
  61. else:
  62. print("Ошибка: неверный номер сказки!")
  63. def run(self):
  64. try:
  65. print("Добро пожаловать в программу 'Русские народные сказки'!")
  66. print("Программа работает в консольном режиме.")
  67. print("=" * 50)
  68.  
  69. # Автоматический показ всех сказок и статистики
  70. self.display_menu()
  71. print("\n" + "=" * 50)
  72. print("АВТОМАТИЧЕСКИЙ ПОКАЗ ВСЕХ СКАЗОК")
  73. print("=" * 50)
  74.  
  75. for i in range(len(self.tales)):
  76. self.display_tale(i)
  77. if i < len(self.tales) - 1:
  78. print("\n" + "-" * 50)
  79. print("СЛЕДУЮЩАЯ СКАЗКА:")
  80. print("-" * 50)
  81. print("\n" + "=" * 50)
  82. self.show_stats()
  83. print("\n" + "=" * 50)
  84. print("ПРОГРАММА ЗАВЕРШИЛА РАБОТУ")
  85. print("=" * 50)
  86. except Exception as e:
  87. print(f"\nПроизошла ошибка: {e}")
  88. def main():
  89. app = FairyTaleApp()
  90. app.run()
  91. if __name__ == "__main__":
  92. main()
Success #stdin #stdout 0.07s 14044KB
stdin
Standard input is empty
stdout
Добро пожаловать в программу 'Русские народные сказки'!
Программа работает в консольном режиме.
==================================================
==================================================
РУССКИЕ НАРОДНЫЕ СКАЗКИ
==================================================

Список сказок:
1. Колобок
2. Репка
3. Теремок
4. Курочка Ряба
5. Маша и медведь
6. Гуси-лебеди
7. Сестрица Аленушка и братец Иванушка

==================================================
АВТОМАТИЧЕСКИЙ ПОКАЗ ВСЕХ СКАЗОК
==================================================

==================================================
СКАЗКА: Колобок
==================================================

ПЕРСОНАЖИ:
  • Колобок
  • Дед
  • Баба
  • Заяц
  • Волк
  • Медведь
  • Лиса

ТЕКСТ СКАЗКИ:
Жили-были старик со старухой. Попросил старик старуху испечь колобок. По амбару помела, по сусекам поскребла - наскребла муки. Испекла колобок и положила на окошко остывать. Колобок покатился по дорожке и встретил Зайца, Волка, Медведя и Лису. Лиса его и съела.

--------------------------------------------------
Длина текста: 261 символов
Количество персонажей: 7
==================================================

--------------------------------------------------
СЛЕДУЮЩАЯ СКАЗКА:
--------------------------------------------------

==================================================
СКАЗКА: Репка
==================================================

ПЕРСОНАЖИ:
  • Дед
  • Бабка
  • Внучка
  • Жучка
  • Кошка
  • Мышка

ТЕКСТ СКАЗКИ:
Посадил дед репку. Выросла репка большая-пребольшая. Стал дед репку тянуть: тянет-потянет, вытянуть не может. Позвал дед бабку. Бабка за дедку, дедка за репку - тянут-потянут, вытянуть не могут. Позвала бабка внучку. Внучка за бабку, бабка за дедку, дедка за репку - тянут-потянут, вытянуть не могут. И так далее, пока мышка не помогла.

--------------------------------------------------
Длина текста: 336 символов
Количество персонажей: 6
==================================================

--------------------------------------------------
СЛЕДУЮЩАЯ СКАЗКА:
--------------------------------------------------

==================================================
СКАЗКА: Теремок
==================================================

ПЕРСОНАЖИ:
  • Мышка
  • Лягушка
  • Зайчик
  • Лисичка
  • Волчок
  • Медведь

ТЕКСТ СКАЗКИ:
Стоял в поле теремок. Бежала мимо мышка-норушка. Увидела теремок и стала в нем жить. Прискакала лягушка-квакушка, попросилась жить. Согласилась мышка. Прибежал зайчик-попрыгайчик, тоже попросился. Пустили его. Пришла лисичка-сестричка, потом волчок-серый бочок. Все жили дружно. Пришел медведь косолапый и раздавил теремок. Все звери разбежались.

--------------------------------------------------
Длина текста: 346 символов
Количество персонажей: 6
==================================================

--------------------------------------------------
СЛЕДУЮЩАЯ СКАЗКА:
--------------------------------------------------

==================================================
СКАЗКА: Курочка Ряба
==================================================

ПЕРСОНАЖИ:
  • Дед
  • Баба
  • Курочка Ряба
  • Мышка

ТЕКСТ СКАЗКИ:
Жили-были дед да баба. Была у них курочка Ряба. Снесла курочка яичко, да не простое, а золотое. Дед бил - не разбил. Баба била - не разбила. Мышка бежала, хвостиком махнула, яичко упало и разбилось. Дед плачет, баба плачет, а курочка говорит: 'Не плачь, дед, не плачь, баба, снесу я вам новое яичко, не золотое, а простое.'

--------------------------------------------------
Длина текста: 323 символов
Количество персонажей: 4
==================================================

--------------------------------------------------
СЛЕДУЮЩАЯ СКАЗКА:
--------------------------------------------------

==================================================
СКАЗКА: Маша и медведь
==================================================

ПЕРСОНАЖИ:
  • Маша
  • Медведь
  • Бабушка
  • Дедушка
  • Подружки

ТЕКСТ СКАЗКИ:
Ушла Маша в лес с подружками за грибами и ягодами. Заблудилась и набрела на избушку. В избушке жил медведь. Не отпускал он Машу домой. Заставил ее работать. Придумала Маша хитрость: попросилась отнести пирожки бабушке с дедушкой. Села в короб, а на медведя сверху пирожки. Медведь понес короб, а Маша говорит: 'Не садись на пенек, не ешь пирожок!' Донес медведь Машу до дома, а она выскочила и убежала.

--------------------------------------------------
Длина текста: 402 символов
Количество персонажей: 5
==================================================

--------------------------------------------------
СЛЕДУЮЩАЯ СКАЗКА:
--------------------------------------------------

==================================================
СКАЗКА: Гуси-лебеди
==================================================

ПЕРСОНАЖИ:
  • Девочка
  • Братец
  • Гуси-лебеди
  • Баба-Яга
  • Печка
  • Яблоня
  • Речка

ТЕКСТ СКАЗКИ:
Родители ушли на работу, оставили дочку братца стеречь. Прилетели гуси-лебеди, унесли братца. Отправилась девочка его искать. Встретила печку, яблоню, речку. Помогли ей найти избушку Бабы-Яги. Выкрала братца и убежала. Гуси-лебеди погнались за ними. С помощью тех же помощников спряталась и вернулась домой как раз к приходу родителей.

--------------------------------------------------
Длина текста: 335 символов
Количество персонажей: 7
==================================================

--------------------------------------------------
СЛЕДУЮЩАЯ СКАЗКА:
--------------------------------------------------

==================================================
СКАЗКА: Сестрица Аленушка и братец Иванушка
==================================================

ПЕРСОНАЖИ:
  • Аленушка
  • Иванушка
  • Купец
  • Ведьма
  • Козленочек

ТЕКСТ СКАЗКИ:
Жили-были сестрица Аленушка и братец Иванушка. Остались они сиротами. Пошли они в лес, захотел Иванушка пить из козьего копытца. Не послушался сестры и стал козленочком. Забрала Аленушку в жены купец. Ведьма утопила Аленушку в реке, а сама прикинулась ею. Козленочек все рассказал купцу. Освободили Аленушку, а ведьму наказали. Стал Иванушка снова мальчиком.

--------------------------------------------------
Длина текста: 358 символов
Количество персонажей: 5
==================================================

==================================================

==================================================
СТАТИСТИКА
==================================================
Всего сказок в базе: 7
Всего персонажей: 40
Среднее количество персонажей: 5.7
Общий объем текста: 2361 символов
Средняя длина текста: 337 символов
==================================================

==================================================
ПРОГРАММА ЗАВЕРШИЛА РАБОТУ
==================================================