Last active
March 31, 2016 12:11
-
-
Save aomoriringo/6ef6eb6f2cd888e1ae8fe8a91bb0248b to your computer and use it in GitHub Desktop.
mulder2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 | |
import random | |
from itertools import chain, izip_longest | |
from more_itertools import chunked | |
from math import ceil | |
def mulder2(): | |
s = u"モルダー あなた 疲れてる のよ".split() | |
random.shuffle(s) | |
s2 = darui(s) | |
s2.insert(2, u"、") | |
return "".join(s2) | |
def darui(l): | |
daru = sum([divide_rough(x) for x in l], []) | |
mae = daru[::2] | |
ato = daru[1::2] | |
if random.randint(0,1): | |
rand_swap(mae,0,1) | |
rand_swap(mae,2,3) | |
else: | |
rand_swap(mae,0,2) | |
rand_swap(mae,1,3) | |
return list(roundrobin(mae, ato)) | |
def rand_swap(l, idx1, idx2): | |
if random.randint(0,1): | |
l[idx1], l[idx2] = l[idx2], l[idx1] | |
def roundrobin(*iterables): | |
sentinel = object() | |
return (x for x in chain(*izip_longest(fillvalue=sentinel, *iterables)) if x is not sentinel) | |
def divide_rough(l): | |
return _join(chunked(l, int(ceil(len(l)/2.0)))) | |
def _join(l): | |
return map(lambda x:"".join(x), l) | |
i = 0 | |
s = None | |
while s != u"モルダー、あなた疲れてるのよ": | |
s = mulder2() | |
print(u"{0}: {1}".format(i, s)) | |
i += 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0: モルダー、のてるあなた疲れよ | |
1: あなよ、のた疲れダーモルてる | |
2: のダー、疲れてるモルよあなた | |
3: モルダー、疲れてるあなたのよ | |
4: 疲れよ、のてるあなダーモルた | |
5: あなた、のよモルダー疲れてる | |
6: のた、あなよ疲れダーモルてる | |
7: あなた、のダー疲れてるモルよ | |
8: モルた、のてるあなダー疲れよ | |
9: あなた、のよモルダー疲れてる | |
10: あなた、モルダー疲れよのてる | |
11: のよ、疲れてるあなダーモルた | |
12: 疲れダー、あなよモルてるのた | |
13: あなダー、疲れよモルたのてる | |
14: あなよ、モルダーのた疲れてる | |
15: あなた、モルてるのよ疲れダー | |
16: あなた、モルよ疲れてるのダー | |
17: モルダー、のてるあなた疲れよ | |
18: モルよ、あなたのダー疲れてる | |
19: モルダー、疲れてるあなよのた | |
20: 疲れてる、モルダーあなたのよ | |
21: モルダー、あなてるのよ疲れた | |
22: のてる、疲れよあなたモルダー | |
23: あなた、のよ疲れてるモルダー | |
24: モルダー、あなた疲れよのてる | |
25: あなた、疲れてるのよモルダー | |
26: モルダー、のよ疲れてるあなた | |
27: あなよ、モルダーのた疲れてる | |
28: モルてる、のた疲れダーあなよ | |
29: 疲れてる、のダーあなたモルよ | |
30: 疲れてる、のよモルたあなダー | |
31: 疲れた、のダーあなてるモルよ | |
32: あなた、のよモルダー疲れてる | |
33: 疲れた、モルダーあなてるのよ | |
34: 疲れてる、のたモルダーあなよ | |
35: あなダー、モルた疲れよのてる | |
36: 疲れよ、あなたのてるモルダー | |
37: モルダー、のよ疲れたあなてる | |
38: 疲れた、あなてるのよモルダー | |
39: あなた、のダー疲れてるモルよ | |
40: 疲れてる、のよモルたあなダー | |
41: のよ、疲れてるあなたモルダー | |
42: あなた、疲れてるモルダーのよ | |
43: のよ、あなたモルダー疲れてる | |
44: 疲れダー、のたモルてるあなよ | |
45: 疲れてる、モルよあなたのダー | |
46: あなてる、モルよ疲れたのダー | |
47: モルてる、疲れダーあなたのよ | |
48: あなよ、疲れてるのたモルダー | |
49: 疲れた、あなてるモルダーのよ | |
50: のよ、モルダーあなた疲れてる | |
51: のよ、あなダー疲れてるモルた | |
52: モルダー、のよあなた疲れてる | |
53: のよ、あなた疲れダーモルてる | |
54: 疲れた、モルダーあなてるのよ | |
55: 疲れてる、あなたモルよのダー | |
56: モルよ、疲れてるのダーあなた | |
57: 疲れよ、のてるモルたあなダー | |
58: モルた、疲れよあなダーのてる | |
59: 疲れよ、あなダーのてるモルた | |
60: 疲れてる、のよモルダーあなた | |
61: 疲れてる、あなたのよモルダー | |
62: モルダー、疲れたのよあなてる | |
63: のダー、あなたモルよ疲れてる | |
64: 疲れてる、のよモルたあなダー | |
65: のよ、あなた疲れてるモルダー | |
66: 疲れた、のよあなてるモルダー | |
67: あなよ、のた疲れてるモルダー | |
68: のよ、あなた疲れてるモルダー | |
69: 疲れてる、モルたのよあなダー | |
70: 疲れよ、のてるあなダーモルた | |
71: モルダー、のよあなた疲れてる | |
72: のダー、疲れたモルよあなてる | |
73: 疲れてる、のよモルダーあなた | |
74: のよ、モルてるあなた疲れダー | |
75: あなダー、疲れてるモルたのよ | |
76: のよ、あなダー疲れてるモルた | |
77: モルダー、のた疲れてるあなよ | |
78: あなよ、のたモルてる疲れダー | |
79: 疲れた、のダーあなてるモルよ | |
80: のた、モルてるあなよ疲れダー | |
81: 疲れてる、モルダーあなたのよ | |
82: のてる、疲れよあなダーモルた | |
83: モルダー、あなたのよ疲れてる | |
84: モルダー、のた疲れてるあなよ | |
85: モルた、あなダーのよ疲れてる | |
86: モルよ、あなたのダー疲れてる | |
87: モルダー、疲れてるのよあなた | |
88: あなた、モルダーのてる疲れよ | |
89: のてる、疲れよあなたモルダー | |
90: あなた、のよ疲れてるモルダー | |
91: のよ、モルダーあなてる疲れた | |
92: あなダー、疲れよモルたのてる | |
93: モルダー、のよあなた疲れてる | |
94: 疲れた、あなてるモルダーのよ | |
95: のよ、モルた疲れてるあなダー | |
96: あなた、モルてるのよ疲れダー | |
97: あなダー、モルたのよ疲れてる | |
98: 疲れてる、あなよモルダーのた | |
99: 疲れてる、モルダーのよあなた | |
100: あなた、モルダーのよ疲れてる | |
101: モルダー、疲れてるのよあなた | |
102: あなた、疲れてるモルダーのよ | |
103: モルダー、あなた疲れよのてる | |
104: モルてる、疲れダーのよあなた | |
105: のよ、あなたモルダー疲れてる | |
106: のダー、モルよあなた疲れてる | |
107: 疲れた、あなてるのダーモルよ | |
108: のた、モルてるあなよ疲れダー | |
109: あなダー、のてるモルた疲れよ | |
110: モルダー、のよ疲れたあなてる | |
111: のよ、あなた疲れてるモルダー | |
112: のてる、疲れよモルダーあなた | |
113: あなた、モルダー疲れてるのよ | |
114: のよ、あなた疲れダーモルてる | |
115: 疲れてる、モルダーあなよのた | |
116: モルよ、あなてるのダー疲れた | |
117: 疲れた、あなてるのダーモルよ | |
118: モルてる、疲れダーあなたのよ | |
119: のよ、疲れてるモルダーあなた | |
120: 疲れよ、のてるあなたモルダー | |
121: あなた、モルダー疲れてるのよ | |
122: のてる、疲れよあなたモルダー | |
123: 疲れよ、モルダーのてるあなた | |
124: 疲れダー、あなたモルてるのよ | |
125: 疲れた、のダーあなてるモルよ | |
126: のダー、疲れたモルよあなてる | |
127: のよ、疲れてるモルたあなダー | |
128: モルダー、あなた疲れてるのよ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment