Advertisement
Guest User

Untitled

a guest
Sep 21st, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.27 KB | None | 0 0
  1. import random
  2.  
  3. data = [
  4.     'Истинная храбрость заключается в том, чтобы жить, когда правомерно жить, и умереть, когда правомерно умереть.',
  5.     'К смерти следует идти с ясным осознанием того, что надлежит делать самураю и что унижает его достоинство.',
  6.     'Следует взвешивать каждое слово и неизменно задавать себе вопрос, правда ли то, что собираешься сказать.',
  7.     'Необходимо быть умеренным в еде и избегать распущенности.',
  8.     'В делах повседневных помнить о смерти и хранить это слово в сердце.',
  9.     'Уважать правило «ствола и ветвей». Забыть его — значит никогда не постигнуть добродетели, а человек, пренебрегающий добродетелью сыновней почтительности, не есть самурай. Родители — ствол дерева, дети — его ветви.',
  10.     'Самурай должен быть не только примерным сыном, но и верноподданным. Он не оставит господина даже в том случае, если число вассалов его сократится со ста до десяти и с десяти до одного.',
  11.     'На войне верность самурая проявляется в том, чтобы без страха идти на вражеские стрелы и копья, жертвуя жизнью, если того требует долг.',
  12.     'Верность, справедливость и мужество — три природные добродетели самурая.',
  13.     'Во время сна самураю не следует ложиться ногами в сторону резиденции сюзерена. В сторону господина не подобает целиться ни при стрельбе из лука, ни при упражнениях с копьём.',
  14.     'Если самурай, лёжа в постели, слышит разговор о своём господине или собирается сказать что-либо сам, он должен встать и одеться.',
  15.     'Сокол не подбирает брошенные зёрна, даже если умирает с голоду. Так и самурай, орудуя зубочисткой, должен показывать, что сыт, даже если он ничего не ел.',
  16.     'Если на войне самураю случится проиграть бой и он должен будет сложить голову, ему следует гордо назвать своё имя и умереть с улыбкой без унизительной поспешности.',
  17.     'Будучи смертельно ранен, так что никакие средства уже не могут его спасти, самурай должен почтительно обратиться со словами прощания к старшим по положению и спокойно испустить дух, подчиняясь неизбежному.',
  18.     'Обладающий лишь грубой силой не достоин звания самурая. Не говоря уж о необходимости изучения наук, воин должен использовать досуг для упражнений в поэзии и постижения чайной церемонии.',
  19.     'Возле своего дома самурай может соорудить скромный чайный павильон, в котором надлежит использовать новые картины-какэмоно, современные скромные чашки и нелакированный керамический чайник.',
  20.     'Самурай должен, прежде всего, постоянно помнить, что он может умереть в любой момент, и если такой момент настанет, то умереть самурай должен с честью. Вот его главное дело.'
  21. ]
  22.  
  23. chain = {}
  24.  
  25. for text in data:
  26.     words = ['start'] + text.split() + ['stop']
  27.     for i in range(len(words) - 1):
  28.         cur_word = words[i].lower().replace(',', '')
  29.         if not cur_word in chain:
  30.             chain[cur_word] = {}
  31.         next_word = words[i + 1].lower().replace(',', '')
  32.         if not next_word in chain[cur_word]:
  33.             chain[cur_word][next_word] = 0
  34.         chain[cur_word][next_word] += 1
  35.  
  36. cur_word = 'start'
  37.  
  38. while cur_word != 'stop':
  39.     print(cur_word, end = ' ')
  40.     total = 0
  41.     for elem in chain[cur_word]:
  42.         total += chain[cur_word][elem]
  43.     ind = random.randint(1, total)
  44.     cnt = 0
  45.     for elem in chain[cur_word]:
  46.         cnt += chain[cur_word][elem]
  47.         if cnt >= ind:
  48.             cur_word = elem
  49.             break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement