IndexError:在为查找最大值而编写的简单代码中列出超出范围的索引



这是我的代码:

num = int(input())
value = []
i = 0
maxval = 0
for x in range(num):
value[i].append(input())
if value[i] > maxval:
maxval = value[i]
i = i + 1
print(value)

我不停地用头撞代码。我知道我没有看到的是一件非常简单的事情。甚至可能是拼写错误之类的东西?

这是一个正常化的练习,但在我克服最初的障碍之前,我不想迈出这一步。

在本练习中,有六个输入。第一个确定阵列的大小,然后从接下来的五个输入中,我需要确定最大

输入为:

5
30.0
50.0
10.0
100.0
65.0

我读取代码的方式是:变量num被赋值为5,它用它来循环下一个位五次。变量值是列表,它是空的。每次循环时,都会向列表中的某个位置添加一个新输入,从0开始,然后是1,然后是2,最后是4。每次它循环时,都会根据最新的输入检查maxval,如果它高于maxval,就会变成那个数字。

但无论如何,我得到了超出范围的索引错误,这就是我迷失的地方,因为在我看来,第一个索引点是0,它已经定义好了,应该可以用来填充输入。

谢谢,伙计们。

您可以使用内置函数max((。

每。。。在输入数字的范围内,将数字添加到列表中。添加完所有值后,您将打印最高值。

len = int(input())
values = []
for _ in range(len):
values.append(input())
print(max(values))

最新更新