我是python的新手。我不太了解它,但是当我执行该程序时,它表示列表索引超出范围或者甚至没有。
a=[3,7,8,2,4,90,1]
f=0
for i in range(0,7,1):
for j in range(1,7,1):
if a[j]>a[i]:
f=a[j]
print (f)
你可以帮我这个吗?你能告诉我错误或任何其他方法(使用max()除外)吗?谢谢
答案 0 :(得分:3)
Python中的索引是基于0的。因此,对于包含7个元素的列表,有效索引为[0]
到[6]
所以这一行
for j in range(i+1,7,1)
应该是
for j in range(7)
或者更好的是,您可以用一行替换整个代码段
print(max(ls))
如果您想使用循环手动执行此操作
ls=[6,8,3,0,2,4,7]
largest = ls[0]
for num in ls:
if num > largest:
largest = num
>>> print(largest)
8