基本程序练习,但未显示正确的结果

时间:2019-06-02 21:51:58

标签: python

我用python写了一个简单的程序,从列表中找到最大的数字。我的代码运行正常,但结果错误。

在我的列表中,总共有9位数字,而50位是最大的一位,但是我的程序显示的是3位数字

numbers = [1, 3, 10, 13, 2, 4, 6, 50, 9]
max = numbers[0]
for number in numbers:
    if number > max:
        max = number
        print(max)

我的回答是

3
10
13
50

以退出代码0结束的过程

3 个答案:

答案 0 :(得分:4)

您的代码现在只要发现一个比以前看到的最大数字大的数字,便会打印其结果。您希望它只打印整个列表中最大的一个。

仅在检查列表中的每个值之后才输出max

numbers = [1, 3, 10, 13, 2, 4, 6, 50, 9]
max = numbers[0]
for number in numbers:
    if number > max:
        max = number
print(max)

请注意,在检查完每个数字之后,如何将print(max)移到循环之外。

答案 1 :(得分:1)

如上面的注释中所述,您可以简单地使用内置函数max,该函数可以应用于列表以打印列表中最大的数字。

numbers = [1, 3, 10, 13, 2, 4, 6, 50, 9]    
print(max(numbers))
# 50

答案 2 :(得分:0)

如果您想要列表的最大数量,则可以简单地使用numpy的max函数:

import numpy as np

numbers = [1, 3, 10, 13, 2, 4, 6, 50, 9]
max = np.max(numbers)

print(max)