Прикреплённый файл «DungeonMap_gen.py»

Загрузка

   1 #!/usr/bin/env python3
   2 '''
   3 '''
   4 
   5 # argv: 10 12 5 5
   6 
   7 import sys
   8 import random
   9 import itertools
  10 import os
  11 
  12 def Print(*ap, **an):
  13     print(*ap, **an)
  14     if not os.isatty(sys.stdout.fileno()):
  15         print(*ap, **an, file=sys.stderr)
  16 
  17 N = 10 if len(sys.argv)<2 else int(sys.argv[1])
  18 R = N*3//2 if len(sys.argv)<3 else int(sys.argv[2])
  19 with open(os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])),"google-10000-english.txt")) as f:
  20     words = [w for w in f.read().split() if 2<len(w)<8]
  21 random.shuffle(words)
  22 words = words[:N]
  23 
  24 s = 0
  25 res = []
  26 From, To = words[0], words[-1]
  27 for sn in sys.argv[3:] or [N]:
  28     n = int(sn)
  29     gen = []
  30     while len(gen)<n*R/N:
  31         inp = words[s:s+n]
  32         random.shuffle(inp)
  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 из ссылки «[получить]», так как он чисто внутренний и может измениться.

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