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

Python函数无输出问题排查及所需掌握技术咨询

问题分析与修正

错误原因

你的代码存在两个关键问题:

  1. return语句提前终止函数执行:函数里return round(total_use_time, 2)写在了if判断和print语句之前,一旦执行到return,函数会立即结束,后面的if和print代码永远不会被执行。
  2. 函数调用未输出结果:你只是调用了sum_server_use_time(FileServer),但没有用print()包裹这个调用,所以就算函数返回了正确值,也不会在控制台打印出来。

另外,你的if条件判断total_use_time !=898完全没必要,和预期输出20.1没有关联,属于冗余代码。

修正后的代码

def sum_server_use_time(Server):
    total_use_time = 0.0
    for key, value in Server.items():
        total_use_time += value  # 直接用循环拿到的value更简洁,没必要再用Server[key]
    result = round(total_use_time, 2)
    print(result)
    return result

FileServer = {"EndUser1": 2.25, "EndUser2": 4.5, "EndUser3": 1, "EndUser4": 3.75, "EndUser5": 0.6, "EndUser6": 8}
sum_server_use_time(FileServer)  # 现在会打印20.1

或者如果你想通过返回值打印,也可以这样写:

def sum_server_use_time(Server):
    total_use_time = 0.0
    for key, value in Server.items():
        total_use_time += value
    return round(total_use_time, 2)

FileServer = {"EndUser1": 2.25, "EndUser2": 4.5, "EndUser3": 1, "EndUser4": 3.75, "EndUser5": 0.6, "EndUser6": 8}
print(sum_server_use_time(FileServer))  # 用print包裹函数调用输出返回值

需掌握的技术主题

  • Python函数的执行流程:明确return语句的作用——一旦执行,函数立即终止,后续代码不再运行。
  • 函数的返回值与输出:区分函数返回值(return的内容)和控制台输出(print()的作用),调用函数时如果需要看到结果,要么在函数内部print,要么在外部print函数的返回值。
  • 字典的遍历:遍历字典items()时,已经拿到了key和对应的value,直接使用value即可,无需再通过Server[key]取值。
  • 代码逻辑顺序:掌握代码执行的先后顺序,确保关键逻辑(比如输出、判断)不会被提前终止的语句(如return、break)跳过。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 06:40:19