|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
为何执行出来的结果是1,不是10?麻烦大神帮忙解答一下,谢谢
def my_max(a):
if not a:
return None
max_value = a[0]
for item in a:
if item > max_value:
max_value = item
return max_value
a = [1, 4, 5, 2, 3, 8, 10]
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[0]
- for item in a:
- if item > max_value:
- max_value = item
- return max_value # 注意这里
- a = [1, 4, 5, 2, 3, 8, 10]
- print(my_max(a))
复制代码
|
|