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

Visual Studio中Coderslang的max_of_three函数返回值异常求助

问题分析与解决

你的问题出在return语句的缩进位置上:原代码里return max被放在了第二个if z > max:的代码块内,这意味着只有当z比当前最大值大的时候,函数才会返回结果;其他情况函数没有返回值,Python会默认返回None。

比如第二次调用max_of_three(1,4,2):

  • 初始max是1,y=4>1,max更新为4
  • z=2不大于4,不会执行return max,函数返回None

第三次调用max_of_three(1,2,2)同理,z等于当前max,也不会触发return,返回None。

修正后的代码

def max_of_three(x, y, z):
    max_val = x  # 建议把变量名改成max_val,避免覆盖Python内置的max()函数
    if y > max_val:
        max_val = y
    if z > max_val:
        max_val = z
    return max_val  # 将return移到函数末尾,确保所有情况都能返回结果

first_result = max_of_three(1, -1, 3)
print(first_result)
second_result = max_of_three(1, 4, 2)
print(second_result)
third_result = max_of_three(1, 2, 2)
print(third_result)

运行结果

3
4
2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 09:14:53