Skip to content

Instantly share code, notes, and snippets.

@aomoriringo
Created March 31, 2016 12:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aomoriringo/d00d7972d1a57126634e67998f70942e to your computer and use it in GitHub Desktop.
Save aomoriringo/d00d7972d1a57126634e67998f70942e to your computer and use it in GitHub Desktop.
crazy scully
# -*- coding: utf-8
import random
from itertools import chain, izip_longest
from more_itertools import chunked
from math import ceil
def mulder3():
s = u"モルダー あなた 疲れてる のよ".split()
random.shuffle(s)
s2 = darui(s)
s2.insert(2, u"、")
s2 = be_crazy(s2)
return "".join(s2)
def be_crazy(l):
for idx, s in enumerate(l):
if random.randint(0,4) == 0:
l[idx] *= random.randint(1,5)
return l
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 = mulder3()
print(u"{0}: {1}".format(i, s))
i += 1
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: あなた、のダー疲れてるモルよ
129: モルダーダーダーダーダー、のよ疲れ疲れ疲れ疲れてるあなたたたたた
130: あなた、のダー疲れ疲れ疲れ疲れ疲れてるモルよよよよよ
131: あなた、のよモルモルモルモルダー疲れてる
132: モルモルモルモルモルた、あなダーダーのののよ疲れてる
133: 疲れた、モルよあなてるのダー
134: 疲れてる、、、、、のよモルダーあなあなあなあなあなたたたた
135: あなあなあなあなあなてる、疲れ疲れたのダーモルよよよ
136: 疲れてる、あなあなあなあなダーのよよよモルた
137: あなたたたたた、疲れてるモルダーののよ
138: のよ、モルダーあなてる疲れた
139: モルモルよ、のダーダーダーダーダー疲れてるあなた
140: あなた、モルダー疲れてるのよ
141: 疲れ疲れよ、のてるモルたあなダー
142: モルモルモルモルモルよよよよ、、、、、あなたのダー疲れ疲れ疲れ疲れ疲れてる
143: モルダー、、、、のよ疲れてるあなあなあなあなあなた
144: 疲れてる、のよモルダーあなあなあなあなあなたたたたた
145: モルダー、のよよ疲れたあなてる
146: あなあなあなあなあなよ、のた疲れダーモルてるてる
147: のた、モルてるあなよ疲れダーダーダーダー
148: モルダー、疲れたのよあなあなあなあなてる
149: モルた、あなあなあなダーのてる疲れよ
150: モルモルモルモルダーダーダーダー、のた疲れてるあなよ
151: 疲れダーダー、、あなよモルてるのた
152: 疲れ疲れ疲れ疲れてるてるてるてるてる、ののののよよよよよモルモルモルダーあなた
153: 疲れ疲れ疲れダー、あなたモルてるのよ
154: 疲れよ、あなダーのののののてるモルた
155: のよ、疲れてるモルたあなダー
156: のののののよ、疲れダーあなたモルてる
157: あなよ、のた疲れ疲れ疲れてるモルダー
158: 疲れてる、モルダーのたたたあなよ
159: モルダー、あなた疲れてるのよ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment