{\rtf1\ansi\ansicpg1252\cocoartf1265\cocoasubrtf210 {\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \margl1440\margr1440\vieww10800\viewh8400\viewkind0 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural \f0\fs24 \cf0 import math\ \ mydict = \{\}\ \ #initialize drink list,n_drinks,radii\ drinks = ['white_wine','gin','whisky','tequila','cognac','vodka','bourbon','cointreau']\ ndrinks = 8\ r = [1]*ndrinks #same radius; change if needed\ angles = [ind*(2*math.pi/ndrinks) for ind in range(0,ndrinks)]\ \ \ #populate the directory\ for i,drink in enumerate(drinks):\ mydict[drink] = (r[i],angles[i])\ \ \ print 'my drink dictionary:\\n %s' %mydict\ \ def mymix(list_drinks): #list_drinks contains components of mix\ n_mix = len(list_drinks)\ mixdict = \{\} #will contain (r_drink,theta_drink,amount)\ for drink in list_drinks:\ mixdict[drink] = mydict[drink]+(1/float(n_mix),)\ \ return mixdict\ \ \ #test\ print 'positions and amount for my mix:\\n %s' %mymix(['whisky','tequila'])\ }