Прикреплённый файл «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 из ссылки «[получить]», так как он чисто внутренний и может измениться.
 Все файлы | Выбранные файлы: удалить переместить на страницу скопировать на страницу

Вам нельзя прикреплять файлы к этой странице.