Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python如何知道列表中的数字是否等于数字_Python_Python 3.x_List_Sum_Numbers - Fatal编程技术网

Python如何知道列表中的数字是否等于数字

Python如何知道列表中的数字是否等于数字,python,python-3.x,list,sum,numbers,Python,Python 3.x,List,Sum,Numbers,假设我有一张清单 [23, 62, 82, 41, 12] 我如何检查一个数字,比如说115,是否是其中任何一个数字的总和,以及如何将这些数字相加 在这种情况下,答案是: [41, 12, 62] 我该怎么做呢?以下是我该怎么做 import itertools magicnumber=115 a = [23, 62, 82, 41, 12] for L in range(0, len(a)+1): for subset in itertools.combinations(a

假设我有一张清单

[23, 62, 82, 41, 12]

我如何检查一个数字,比如说115,是否是其中任何一个数字的总和,以及如何将这些数字相加

在这种情况下,答案是:

[41, 12, 62]
我该怎么做呢?

以下是我该怎么做

import itertools
magicnumber=115
a = [23, 62, 82, 41, 12]
for L in range(0, len(a)+1):
        for subset in itertools.combinations(a, L):
        b = sum(int(i) for i in subset)              
        if b == magicnumber:        
            print(subset)
[…我用谷歌搜索了“python组合”和“python子集”来开始…]

[…组合不是。排列,对不起…]


“我如何检查一个数字(比如115)是否是这些数字的总和,以及如何将这些数字相加?”——您可以通过编写一个程序来完成这项工作。如果您的程序有问题,请仔细阅读您正在使用的所有方法、类、模块和库的文档,为您的程序编写测试,用笔和纸跟踪执行情况,在调试器中单步执行,然后休眠,从头开始,再次休眠,然后再询问,用a来缩小问题范围。您遇到问题的代码是什么?你的代码有什么问题?你收到错误信息了吗?错误消息是什么?你得到的结果不是你期望的结果吗?你期望得到什么样的结果?为什么?你会得到什么样的结果?两者有什么不同?你观察到的行为是否不是期望的行为?期望的行为是什么?为什么?观察到的行为是什么?它们有什么不同?请提供一个。你能提供你想要发生的事情的精确说明吗,包括任何和所有规则、这些规则的例外情况、拐角情况、特殊情况、边界情况和边缘情况?您能否提供示例输入和输出,以演示在正常情况下,以及在所有异常、拐角情况、特殊情况、边界情况和边缘情况下,您预期会发生什么?请同时提供一个。我只想知道是否有任何内置函数可以帮助我。您需要使用
itertools.combines(iterable,r)
来获得长度r的所有组合,循环r=1,2,3…谢谢!工作完美,这就是我要找的,谢谢。对不起,我写了排列,应该是组合。你介意告诉我如何以不同的顺序打印出所有可能的组合,包括相同的数字吗?举个例子。不知道你的意思。所以如果结果是5,10,16,那么它也会做10,5,16,16,10,5,等等