为何执行出来的结果不对,代码有什么问题?
为何执行出来的结果是1,不是10?麻烦大神帮忙解答一下,谢谢def my_max(a):
if not a:
return None
max_value = a
for item in a:
if item > max_value:
max_value = item
return max_value
a =
print(my_max(a))
问题出在my_max函数的return语句的缩进上。return max_value应该在for循环之外,但目前它在for循环里面。
因此,循环只执行了一次就返回了第一个元素1。请将return语句向左缩进一级,使其与for语句处于同一级别。正确的代码如下:
def my_max(a):
if not a:
return None
max_value = a
for item in a:
if item > max_value:
max_value = item
return max_value # 注意这里
a =
print(my_max(a))
页:
[1]