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

Загрузка

   1 #!/usr/bin/python
   2 # coding: utf-8
   3 '''
   4 Вводится список вида
   5   Мука      Хлеб
   6   Соль      Хлеб
   7   Вода      Хлеб
   8   Хлеб      Бутерброд
   9   Масло     Бутерброд
  10   Сыр       Бутерброд
  11   Бутерброд Завтрак
  12   Чай       Завтрак
  13   ...
  14 описывающий, как нечто собирается из составных частей.
  15 
  16 Генератор списка (названия берутся из __builtins__ :)'''
  17 
  18 import sys
  19 from random import shuffle, randrange, randint, random, choice
  20 DENSITY=0.3
  21 if len(sys.argv)>1: DENSITY=float(sys.argv[1])
  22 
  23 def gen(Terms, fault=0.0):
  24     shuffle(Terms)
  25     nathoms=randint(len(Terms)/5, 3*len(Terms)/5)
  26     Athoms,Things=Terms[:nathoms],Terms[nathoms:]
  27     Cont={}
  28     for a in Athoms:                    # из каждого атома что-то состоит
  29         Cont.setdefault(choice(Things),set([])).add(a)
  30     for i in xrange(nathoms,len(Terms)):             # добавим детали к вещи
  31         for j in xrange(randrange(len(Terms)/3)):    # количество деталей
  32             # пренебрежём совпадением randrange(i)
  33             Cont.setdefault(Terms[i],set([])).add(Terms[randrange(i)])
  34     if fault>random():                  # Переставим названия объектов
  35         shuffle(Things)
  36         Cont=dict(zip(Things,Cont.values()))
  37     return Cont
  38 
  39 C=gen(dir(__builtins__)[-40:], DENSITY)
  40 for k,v in C.items():
  41     for e in v:
  42         print e,k
  43 # Для задачи
  44 print C.keys()[-1]

Прикреплённые файлы

Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.

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