hjhhg1991 发表于 2019-5-29 16:43:15

选值求和问题

a =

列表a里,任意个数值进行相加,输出大于等10的数
输出所有组合

比如1+2+3+4 = 10
输出:1 2 3 4
比如8+9 = 17
输出:8 9
1+2+8 = 11
输出:1 2 8

肥^o^帅 发表于 2019-5-29 17:54:14

a=
#任意个数相加大于等于10
#1,2个数
#1,3个数
#1,4个数
#超过4个数的都大于10,所以就不跑程序了
for i in a:
    a.remove(i)
    b=a
    for j in b:
          if i+j>=10:
                  print('%d+%d'%(i,j))
          else:
                  b.remove(j)
                  c=b
                  for k in c:
                          if i+j+k>=10:
                                  print('%d+%d+%d'%(i,j,k))
                          else:
                                  c.remove(k)
                                  d=c
                                  for m in d:
                                          if i+j+k+m>=10:
                                                  print('%d+%d+%d+%d'%(i,j,k,m))
                                          else:
                                                  break

结果:
1+2+3+4
1+2+3+8
1+2+3+9
1+2+3+10
1+2+8
1+2+9
1+2+10
1+8+4
1+8+9
1+8+10
1+10
9+4
9+10
页: [1]
查看完整版本: 选值求和问题