Ich schreibe ein Programm zur Berechnung einer Verteilung.
Bei dem Teil von Liste4 funktioniert etwas nicht, es werden die falschen Zahlen berechnet. Kann mir jemand weiterhelfen? ist ziemlich wichtig. Danke im voraus!
Code: Alles auswählen
N = {1,2,3,4,5,6}
n = len(N)
Liste1=[]
for item in powerset(N):
Liste1.append(Summe(item))
Liste1 = sorted(Liste1)
unique_values = list(set(Liste1))
Liste2 = []
for values in unique_values:
Liste2.append(Liste1.count(values))
Liste3 = []
for i in range(0, len(Liste2), 1):
Liste3.append((unique_values[i], Liste2[i]))
Liste4 = []
W = 2**n
for i in Liste2:
Liste4.append((Liste1[i])/W)
Liste1
[0, 1, 2, 3, 4, 5, 6, 3, 4, 5, 6, 7, 5, 6, 7, 8, 7, 8, 9, 9, 10, 11, 6, 7, 8, 9, 8, 9, 10, 10, 11, 12, 9, 10, 11, 11, 12, 13, 12, 13, 14, 15, 10, 11, 12, 12, 13, 14, 13, 14, 15, 16, 14, 15, 16, 17, 18, 15, 16, 17, 18, 19, 20, 21]
unique_values
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
Liste2
[1, 1, 1, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 4, 4, 4, 3, 2, 2, 1, 1, 1]
Liste3
[(0, 1), (1, 1), (2, 1), (3, 2), (4, 2), (5, 3), (6, 4), (7, 4), (8, 4), (9, 5), (10, 5), (11, 5), (12, 5), (13, 4), (14, 4), (15, 4), (16, 3), (17, 2), (18, 2), (19, 1), (20, 1), (21, 1)]
Liste4
[0.015625, 0.015625, 0.015625, 0.03125, 0.03125, 0.046875, 0.046875, 0.046875, 0.046875, 0.0625, 0.0625, 0.0625, 0.0625, 0.046875, 0.046875, 0.046875, 0.046875, 0.03125, 0.03125, 0.015625, 0.015625, 0.015625]