Прикреплённый файл «DungeonMap_gen.py»
Загрузка 1 #!/usr/bin/env python3
2 import sys
3 import random
4 import itertools
5 import os
6 from urllib import request
7 from pathlib import Path
8
9 URL = "https://github.com/first20hours/google-10000-english/raw/master/google-10000-english.txt"
10 cache = Path("first20hours.o")
11 if not cache.is_file():
12 cache.write_bytes(request.urlopen(URL).read())
13
14
15 def Print(*ap, **an):
16 print(*ap, **an)
17 if not os.isatty(sys.stdout.fileno()):
18 print(*ap, **an, file=sys.stderr)
19
20
21 N = 10 if len(sys.argv) < 2 else int(sys.argv[1])
22 R = N * 3 // 2 if len(sys.argv) < 3 else int(sys.argv[2])
23 words = random.sample([w for w in cache.read_text().split() if 2 < len(w) < 8], k=N)
24
25 s = 0
26 res = []
27 From, To = words[0], words[-1]
28 for sn in sys.argv[3:] or [N]:
29 n = int(sn)
30 gen = []
31 while len(gen) < n * R / N:
32 inp = random.sample(words[s: s + n], k=n)
33 gen.extend(list(zip(inp[:-1], inp[1:])))
34 res.extend(gen[: 1 + n * R // N])
35 print("*", *set(itertools.chain(*gen[: 1 + n * R // N])), file=sys.stderr)
36 s += n
37 random.shuffle(res)
38 for a, b in res:
39 Print("{} {}".format(*((a, b) if random.randrange(2) else (b, a))))
40 Print(From, To, sep="\n")
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.Вам нельзя прикреплять файлы к этой странице.
