我想创建一个函数,它将在数组中找到最大值

时间:2018-03-21 21:57:27

标签: python arrays max element

def max(list):
    max_element = list[0]

    for i in range(1, len(list)):
        if list[i] > max_element:
            max_element = list[i]


print(max_element)

print(max([1, 2, 8, 4]))

#NameError: name 'max_element' is not defined

如何解决?

3 个答案:

答案 0 :(得分:0)

首先,不要覆盖python的全局变量。 Python默认提供max函数。

def max_number(list):
    max_element = list[0]

    for i in range(1, len(list)):
        if list[i] > max_element:
            max_element = list[i]
    return max_element

print(max_number([1, 2, 8, 4]))

您不能仅使用范围内的变量,max_element变量仅在max_element函数的范围内可用,要实际检索该值,您需要将其返回。< / p>

答案 1 :(得分:0)

&#39; max_element&#39;是函数范围内的变量,因此当您尝试在函数外部打印它时,您的计算机不知道它是什么。 您希望在循环完成后打印内部函数,以便在运行时打印它。

def max(list):
  max_element = list[0]
  for i in range(1, len(list)):
    if list[i] > max_element:
      max_element = list[i]
  print(max_element)   

max([1, 2, 8, 4])

答案 2 :(得分:-1)

您的代码应如下所示:

def max(list):
    max_element = list[0]

    for i in range(1, len(list)):
        if list[i] > max_element:
            max_element = list[i]
    return max_element


print(max([1, 2, 8, 4]))