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

如何用Python编写接收秒数与布尔参数的hours小时转换函数

Python实现hours函数:秒数转24/12小时制小时数

需求说明

需要编写一个名为hours的Python函数,满足:

  • 接收两个参数:整数seconds(从午夜00:00开始的秒数)、布尔值type
  • 当type=True时,返回24小时制的小时数
  • 当type=False时,返回12小时制的小时数

问题分析

提供的参考代码仅实现了秒到小时的基础转换,但存在两个核心问题:

  1. 未处理超过一天(86400秒)的秒数,会返回超过23的无效小时数
  2. 完全缺失12小时制的转换逻辑

完整实现

def hours(seconds: int, type: bool) -> int:
    # 将秒数限定在一天范围内,避免跨天的无效值
    daily_seconds = seconds % 86400
    hour_24 = daily_seconds // 3600
    
    if type:
        return hour_24
    else:
        # 12小时制规则:0点/24点返回12,其余小时取模12
        return 12 if hour_24 in (0, 12) else hour_24 % 12

测试示例

  • hours(3600, True) → 返回1(24小时制的1点)
  • hours(43200, False) → 返回12(12小时制的中午12点)
  • hours(86400, True) → 返回0(刚好一整天,回到午夜0点)
  • hours(90000, False) → 返回1(90000秒=25小时,即次日1点,12小时制显示1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 02:27:42