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

VS Code中Python小时转换程序输入大于24时无输出问题求助

问题排查与修复

问题根源

你的代码存在逻辑覆盖不全的问题:

  • 嵌套的if语句仅处理了「刚好等于1天」「刚好等于1周」「刚好等于1个月」的极端情况,以及小时数小于24的情况。
  • 对于其他大于24小时的输入(比如25小时、100小时),程序会进入没有print语句的分支,自然无任何输出。
  • 代码中hrs = hrs属于冗余无效代码,可直接删除。

修复后的代码

重构逻辑,覆盖所有输入场景,同时优化单复数显示:

hrs = int(input("How many hours do you want? "))

if hrs < 24:
    print(f"You have {hrs} hour" if hrs == 1 else f"You have {hrs} hours")
else:
    days = hrs / 24
    if days < 7:
        print(f"{hrs} hours is equal to {days:.2f} day" if days == 1 else f"{hrs} hours is equal to {days:.2f} days")
    else:
        weeks = days / 7
        if weeks < 4:
            print(f"{days:.2f} days is equal to {weeks:.2f} week" if weeks == 1 else f"{days:.2f} days is equal to {weeks:.2f} weeks")
        else:
            months = weeks / 4
            print(f"{weeks:.2f} weeks is equal to {months:.2f} month" if months == 1 else f"{weeks:.2f} weeks is equal to {months:.2f} months")

修复说明

  1. 用分层判断覆盖所有数值范围,确保任何输入都有对应输出。
  2. 使用f-string简化字符串拼接,同时通过三元表达式处理单复数显示。
  3. 添加.2f格式化输出,避免转换后出现过多小数位(可根据需求调整精度)。
  4. 删除冗余的无效代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:40:45