老师,len()不能减1,那样最后一个值就拿不到了
![]() ![]() 学习达人
|
宋焕晨123
展开
|
![]() 学习达人
|
pxx896
展开
|
![]() |
T-ioevc21hj
展开
|
|
|
silence-qinfan
展开
|
|
|
jasonmei9
展开
理解了,老师的程序是对的,range里面范围是0-6,因为for循环不取最后一个数,所以循环到倒数第二个数结束,又因为if条件是x+1所以最后一个数也参与了比较 ![]() 徐忘忘
展开
@ tu3354464787 in range(0,len(a)-1)代表在这些数字里只比较len(a)-1次。就好比5个数。比较4次就能得出最大值 |
![]() 学习达人
|
华山论刀
展开
老师,len(a)好像不应该减1,如果最后一个值大于65547,就取不到最大值了,因为如果减1,最后一个值是循环不出来的。 大容量电老贰
展开
maxx的初始值是a[0]所以上第一次是a[0]在和a[1]比较,x和x+1的值应该分别为0和1,那么一共6个数就要比较5次,最后一次的x和x+1的值应该是4和5,此时如果len(a)不-1运行会提示
IndexError: list index out of range 大概意思就是出错了溢出了找不到了
我在for下面if前面加了这三行
print(x)#每次循环时x的值
print(x+1)#每次循环时X+1的值
print(a[x+1])#每次循环时a[x+1]值对应的列表中的值
这样得到的结果会先输出这三个值,很清晰,试试也许就能看明白了 |
本站有权保留或删除有争议评论。 参与本评论即表明您已经阅读并接受上述条款。