无法遍历数组中所有元素

len(combo)是对的,但算rates的时候不能遍历combo中的所有元素,可以告诉我应该怎么修改吗

img

试着把print()放进k循环里:

import numpy as np
def PowerSetsBinary(items):
    N = len(items)
    a = 90
    b = 100
    global rates
    for i in range(2**N):
        combo = [a,b]
        for j in range(N):
            if (i>>j)%2:
                combo.append(items[j])
                print(combo)
        for k in combo:
            if k>np.mean(combo):
                rates=30-(k-np.mean(combo))/np.mean(combo)*100*0.5
            else:
                rates=30+(k-np.mean(combo))/np.mean(combo)*100*0.5
            print(combo,rates,len(combo))
        #print(combo,rates,len(combo))
PowerSetsBinary([80,90,100])

你是说打印的结果数量少吗?你现在的代码有点奇怪,k 循环的时候,你只会打印最后一个rates 的结果。我猜你是不是每个循环都打印结果,那你print 那行要再缩进一下,跟if,else 对齐

没太看懂,方便把代码发出来吗