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

Python时钟角度计算场景下如何将浮点型角度转换为整型输出

问题原因

你的代码中使用了minute * 0.5这类浮点数运算,因此最终计算得到的夹角结果默认是float类型,输出时就会自带.0后缀。

解决方法

你可以任选以下任意一种方案修改代码:

方案1:存储结果时直接转整型

在把角度添加到列表时直接转成int类型即可,修改后的完整代码如下:

size = int(input())
angle = []
clock = []

for i in range(size):
    Inp = input().split(' ')
    clock.append(Inp) 
    hour, minute = int(Inp[0]), int(Inp[1])
    ans = abs((hour * 30 + minute * 0.5) - (minute * 6))
    angle.append(int(min(360 - ans, ans)))   
    
print(*angle,sep="\n")

如果后续需要处理非整数夹角的场景,也可以用round()替代int()实现四舍五入取整。

方案2:输出时统一转整型

不用修改计算逻辑,只需在print时对列表元素批量转整型即可:

print(*map(int, angle), sep="\n")

方案3:改用整数运算从根源避免浮点问题

时钟夹角的计算公式可以改写为全整数运算形式,完全避免浮点数产生,精度更高:

size = int(input())
angle = []
clock = []

for i in range(size):
    Inp = input().split(' ')
    clock.append(Inp) 
    hour, minute = int(Inp[0]), int(Inp[1])
    # 全整数运算公式,结果直接为整型
    ans = abs(60 * hour - 11 * minute) // 2
    angle.append(min(360 - ans, ans))   
    
print(*angle,sep="\n")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:42:00