TypeError:'int'对象不可迭代?

Tun*_*ham 1 python

我正在实现动态编程算法,我得到了这个错误.这是我的代码:

def shoot(aliens):
    s=[0]*10
    s[0]=0
    s[1]=0
    for j in xrange(2,len(aliens)):
        for i in xrange(0,j):
           s[j]=max(s[i] + min(aliens[j],fib(j-i))) <---Error here
    print s[len(aliens)-1]
    return s[len(aliens)-1]

def fib(n):
    if n == 0:
        return 0
    if n == 1:
        return 1
    return fib(n-1) + fib(n-2)

aliens=[1,10,10,1]
print shoot(aliens)
Run Code Online (Sandbox Code Playgroud)

它说:

Traceback (most recent call last):
File "module1.py", line 30, in <module>
print shoot(aliens)
File "module1.py", line 19, in shoot
s[j]=max(s[i] + min(aliens[j],fib(j-i)))
TypeError: 'int' object is not iterable
Run Code Online (Sandbox Code Playgroud)

请帮我

更新:哦,我明白了.我的意思是

s[j]=max(s[i] + min(aliens[j],fib(j-i)))
Run Code Online (Sandbox Code Playgroud)

但我错了.所以,我编辑它,但我不知道如何使用max()来取出数组中最大的.

    b=0
    for j in xrange(2,len(aliens)):
        for i in xrange(0,j):
           a[b]=(s[i] + min(aliens[j],fib(j-i)))
           b+=1
        s[j]=Largest(a[b]);   <--How can I do that with Max() function
Run Code Online (Sandbox Code Playgroud)

rod*_*igo 5

maxmin函数需要几个参数或一系列元素.你的呼叫min()有两个参数(ok),但你的呼叫max()只有一个.不确定你想在这里最大化...