You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么传入空数组时该Python函数没有返回None且无输出?

问题原因分析

你的代码无法得到预期输出、甚至终端无内容是以下几个问题共同导致的:

  • 函数入口第一行你写了Array = [],直接把传入的参数覆盖成了空数组,不管外部传什么内容进来,都会触发后续的空数组判断直接return None,所有计算逻辑完全不会执行
  • 如果你调用函数后没有加print()打印返回值,不管函数返回了什么内容,终端都不会有任何输出
  • 代码存在变量名错误:循环中赋值largest = A[x],你的参数名是Array,根本没有定义过A变量,就算前面的覆盖问题修复,运行也会直接抛NameError
  • 初始最大值设为0逻辑错误:如果传入的数组全是负数,计算结果会完全错误
  • 遍历逻辑冗余:每次循环都用index()找索引、重复给B赋值的写法效率低,遇到重复元素时还会拿到错误的索引
修正后的代码
def Largest(Array):
    # 判断空数组直接返回None
    if not Array:
        return None
    # 初始化最大值为第一个元素、索引为0
    largest = Array[0]
    max_index = 0
    for i in range(len(Array)):
        if Array[i] > largest:
            largest = Array[i]
            max_index = i
    return [largest, max_index]

# 调用时必须用print打印才能在终端看到输出
print(Largest([1,3,5,2,4]))

内容的提问来源于stack exchange,提问作者Dran Kisnosx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:09:02