You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
656 B
24 lines
656 B
from fingering import fingers
|
|
from itertools import *
|
|
|
|
def powerset(iterable):
|
|
"powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
|
|
s = list(iterable)
|
|
return chain.from_iterable(combinations(s, r) for r in range(1,len(s)+1))
|
|
##for i in range(200):
|
|
## print(fingers(i,22)+1)
|
|
valves = [2,1,3,5]
|
|
dic = {}
|
|
altdic = {}
|
|
for comb in powerset(valves):
|
|
hs = sum(comb)
|
|
comb = tuple(map(lambda x: valves.index(x)+1,comb))
|
|
try:
|
|
dic[hs] += [comb]
|
|
except KeyError:
|
|
dic[hs] = [comb]
|
|
try:
|
|
if len(altdic[hs]) > len(comb):
|
|
altdic[hs] = comb
|
|
except KeyError:
|
|
altdic[hs] = comb
|