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
如何解决?
答案 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]))