如何用Python编写接收秒数与布尔参数的hours小时转换函数
Python实现hours函数:秒数转24/12小时制小时数
需求说明
需要编写一个名为hours的Python函数,满足:
- 接收两个参数:整数
seconds(从午夜00:00开始的秒数)、布尔值type - 当
type=True时,返回24小时制的小时数 - 当
type=False时,返回12小时制的小时数
问题分析
提供的参考代码仅实现了秒到小时的基础转换,但存在两个核心问题:
- 未处理超过一天(86400秒)的秒数,会返回超过23的无效小时数
- 完全缺失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
相关产品推荐
相关产品推荐

