首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >取4个数字的和,然后将这4个数字加到这4个数字的和上,然后重复

取4个数字的和,然后将这4个数字加到这4个数字的和上,然后重复
EN

Stack Overflow用户
提问于 2016-07-19 21:58:58
回答 1查看 78关注 0票数 4

每年在超级碗期间,我爸爸都会和他的朋友打赌,猜出最后的分数,谁猜得对谁就赢20美元。我的问题很难用语言来解释,所以我画了一张图表:

基本上,我想把4个数字(2,3,6,7)加到对方身上,然后取16和,然后把这4个数字加到每个和上。在我重复这个过程大约100次之后,我应该有足够的分数来找出大部分的结束数和最有可能的结束数。

这需要很长时间才能手工完成,所以我试着编写一些代码,但对于像我这样的初学者来说,这是非常困难的(底部有一半代码)。

我想知道在Python2.7中是否有更好的方法可以做到这一点。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-19 22:34:57

代码语言:javascript
复制
nums = [2,3,6,7]
x = []
for i in range(5):
    for p in itertools.product(nums, repeat=i):
        x.append(sum(p))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38469226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档