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