我想做一个函数来找到数组中的最大值
I want make a function which will find the max value in array
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
如何解决?
您的代码应如下所示:
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]))
首先,不要覆盖 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
函数范围内可用,要实际检索值,您需要 return它。
'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)
max([1, 2, 8, 4])
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
如何解决?
您的代码应如下所示:
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]))
首先,不要覆盖 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
函数范围内可用,要实际检索值,您需要 return它。
'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)
max([1, 2, 8, 4])