python索引超出范围怎么解决_在python中列出索引超出范围 – python

  • Post author:
  • Post category:python


def Entekhab3_fun():

h = 0

Max = 1

while(h <= 10):

if(Montakhabha[h] == None):

break

elif(Montakhabha[h] > Max):

Max = Montakhabha[h]

elif(Montakhabha[h] == Max):

Max = Montakhabha[h]

else:

Max = Max

h += 1

return(Max)

这是编译器引用的我的代码的一部分,我无法理解它出了什么问题,但是当我编译它时,它说:

indexerror:列表索引超出范围

参考方案

唯一可能的原因是Montakhabha少于11个元素。请注意您的条件是h <= 10,因此您也在代码中检查Montakhabha[10]。

最安全的方法是将其更改为

while h < len(Montakhabha)

一些注意事项:

第一个检查可能应该是continue而不是break(最后一个Max=Max分配也应该如此)。

使用x is None代替x==None。这是安全的,因为None是单例值。

第二和第三条件做同样的事情

总的来说,您似乎想做的是

max_value = 0

for element Montakhabha:

if element > max_v