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

Python字典求和问题:如何计算当前章节后的剩余视频总时长?

修正字典计算剩余视频时长的逻辑问题

你的代码存在两个核心问题:

  • 条件判断逻辑颠倒:当前代码累加的是小于等于当前章节的时长,而剩余时长需要统计当前章节及之后所有章节的时长,判断条件需要反过来
  • 类型不匹配:input()获取的是字符串类型,直接和字典里的整数key比较会引发逻辑错误,必须先转成整数

修正后的代码如下:

video_dict = {
    1 : 9,   # Section 1 is 9 minutes
    2 : 75,
    3 : 174,
    4 : 100
}

# 转换输入为整数,避免类型错误
current_section = int(input('What section are you currently on?'))

total_time = 0
for key, value in video_dict.items():
    # 只累加当前章节及之后的时长
    if key >= current_section:
        total_time += value

print(total_time)

测试验证:输入2时,会计算章节2(75)+3(174)+4(100),结果为349,符合预期。

如果想让代码更简洁,也可以用生成器表达式直接求和:

total_time = sum(value for key, value in video_dict.items() if key >= current_section)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 10:50:38