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

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