我对Python很新颖,很难计算我列表中的数目相等的总和。我创建了一个数字列表(列表一),根据哥德巴赫每个数字相当于三个Primenumbers。我现在有一个所有素数组合的列表,现在我要计算list oneven中每个数字组合的数量,并将其打印出来。我尝试使用“导入集合”,由于我的代码不可排除而不起作用。然后,我累了添加了许多到上升到等于资金空单,但我得到的错误信息:在清单列表中,如何计算我在清单中的同等金额?
IndexError:列表分配索引超出范围
这里是我的代码以至极我奋力:
lijst2 = []
lijst = []
for i in oneven:
for a in priemgetallen:
for b in priemgetallen:
if a >= b:
c = i - a - b
if c in priemgetallen and b >= c:
lijst.append([c,b,a])
for item in lijst:
if sum(item) in lijst2:
lijst2[sum(item)] = lijst2.get(sum(item))+1
else:
lijst2[sum(item)] = 1
for k,v in lijst2.items():
print(str(k)+':'+str(v))
lijst2 = set(lijst)
print(lijst2)
柜面你有兴趣在什么,我试图做的,我试图写Goldbachs理论计数器,所以这里是我的全部代码:
oneven = []
for i in range(7,102,2):
oneven.append(i)
priemgetallen = [2]
counter = 3
while priemgetallen[-1] < oneven[-1]:
priemgetallendelers = []
for i in range (1,counter+1):
if counter % i == 0:
priemgetallendelers.append(i)
if len(priemgetallendelers) == 2:
priemgetallen.append(counter)
counter += 1
else:
counter +=1
lijst2 = []
lijst = []
for i in oneven:
for a in priemgetallen:
for b in priemgetallen:
if a >= b:
c = i - a - b
if c in priemgetallen and b >= c:
lijst.append([c,b,a])
for item in lijst:
if sum(item) in lijst2:
lijst2[sum(item)] = lijst2.get(sum(item))+1
else:
lijst2[sum(item)] = 1
for k,v in lijst2.items():
print(str(k)+':'+str(v))
lijst2 = set(lijst)
print(lijst2)
一t结束它应该看起来有点像这样:
7 = 2 + 2 + 3
9 = 2 + 2 + 5
= 3 + 3 + 3
11 = 2 + 2 + 7
= 3 + 3 + 5
13 = 3 + 3 + 7
= 3 + 5 + 5
Options to write: 7, 9, 11, ...:
1, 2, 2, 2, 3, 4, 3, 5, 5, 5, 7, 7, 6, 9, 8,
提供[mcve]。 –
哦,对不起,我遗漏了 – Hendrik
我已经添加了示例 – Hendrik