liubulong 发表于 2023-4-3 14:01:28

为何执行出来的结果不对,代码有什么问题?

为何执行出来的结果是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))

isdkz 发表于 2023-4-3 14:03:22

问题出在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]
查看完整版本: 为何执行出来的结果不对,代码有什么问题?