概述
我正在实现动态编程算法,但出现此错误.这是我的代码:
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)))
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)
它说:
Traceback (most recent call last):
File "module1.py", line 30, in
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
请帮我
更新:
哦,我明白了.
我的意思是
s[j]=max(s[i] + min(aliens[j],fib(j-i)))
但是我错了.
因此,我像这样编辑它,但是我不知道如何使用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]);
最后
以上就是懵懂月饼为你收集整理的python整形不可迭代_python-TypeError:’int’对象是不可迭代的?的全部内容,希望文章能够帮你解决python整形不可迭代_python-TypeError:’int’对象是不可迭代的?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复