每年在超級碗比賽期間,我的父親會跟他的朋友打賭,猜猜得分的最後一個數字,以及誰猜對了誰贏得20美元。我的問題很難用語言來解釋,所以我畫了一個圖表:取4個數字的總和,然後將這4個數字加到這4個數字的總和上,然後重複
基本上我想將4個數字(2,3,6,7)彼此相加,然後取16個數字並將這4個數字加到每一筆款項。 當我重複這個過程約100次後,我應該有足夠的分數來找到大部分的最終號碼和最可能的最終號碼。
這需要花很多時間才能手工完成,因此我試圖編寫一些代碼,但對於像我這樣的初學者來說這是非常困難的(一半是底層代碼)。
我想知道是否有更好的方法,我可以在Python 2.7中做到這一點。
sum_2 = {}
sum_3 = {}
sum_6 = {}
sum_7 = {}
nums = [2,3,6,7]
n_2 = 1
n_3 = 1
n_6 = 1
n_7 = 1
n_2_2 = n_2
n_3_3 = n_3
n_6_6 = n_6
n_7_7 = n_7
while n_7 < 10:
for x in nums:
sum_2[n_2] = x + x
sum_2[n_2_2] = sum_2[n_2] + x
n_2 = n_2 + 1
n_2_2 = n_2 + 1
for x in nums:
sum_3[n_3] = x + x
sum_3[n_3_3] = sum_3[n_3] + x
n_3 = n_3 + 1
n_3_3 = n_3 + 1
for x in nums:
sum_6[n_6] = x + x
sum_6[n_6_6] = sum_6[n_6] + x
n_6 = n_6 + 1
n_6_6 = n_6 + 1
for x in nums:
sum_7[n_7] = x + x
sum_7[n_7_7] = sum_7[n_7] + x
n_7 = n_7 + 1
n_7_7 = n_7 + 1
else:
print sum_2
print sum_3
print sum_6
print sum_7
您可以使用itertools得到原始的數字排列,然後添加置換的金額給你列出和循環周圍一堆倍。 既然這是一個足球應用程序,你是否有想要得到多少總得分事件(即一系列你應該加在一起的多少數字?),100分似乎很多。另外,我希望你想爲每個開始的四個數字分配概率,因爲安全相對於實地目標等是不可能的,並且你可以通過輸出n個事件的總和,而不是輸出總和的概率 – Matt
@馬特你可以給我一些示例代碼? – distaf