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

为何会触发ValueError: too many values to unpack (expected 3)错误?

错误原因分析

核心问题:返回值与接收变量数量不匹配

你的convert_seconds函数返回了4个值:hours, minutes, seconds, remaining_seconds,但你只用hours, minutes, seconds这3个变量接收返回结果。Python解包元组时要求两边数量完全对应,因此抛出ValueError: too many values to unpack (expected 3)。

额外问题:返回值冗余

函数里返回的seconds是传入的原始参数,属于不必要的冗余返回。你实际需要的是拆分后的小时、分钟、剩余秒数,所以函数返回值应该修正为仅包含这三个有效结果。

修正后的完整代码

def convert_seconds(seconds):
    hours = seconds // 3600
    minutes = (seconds - hours * 3600) // 60
    remaining_seconds = seconds - hours * 3600 - minutes * 60
    return hours, minutes, remaining_seconds

# 用三个变量接收三个返回值,变量名也可以根据语义调整为hours, minutes, remaining_seconds
hours, minutes, seconds = convert_seconds(5000)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:15:48