dragov 发表于 昨天 15:45

如 何 实 现 输 出 0:03:07



m,s=divmod(187,60)
h,m=divmod(m,60)
print(f"{h}:{m}:{s}")

程序输出的结果是:0:3:7

我需要输出的结果是:0:03:07

FishC 发表于 昨天 15:46

你的代码输出结果是 "0:3:7",因为分钟和秒是单数字时没有前导零。要实现 "0:03:07" 的格式,可以使用 f-string 的格式化指定符 :02d 来确保每个部分都是两位数,不足时补零。另外,注意你希望使用中文冒号 ":",而不是英文冒号 ":"。

修改后的代码如下:


m, s = divmod(187, 60)
h, m = divmod(m, 60)
print(f"{h:02d}:{m:02d}:{s:02d}")


这样,输出就会变成 "0:03:07"。如果你更喜欢英文冒号,只需将 print 语句中的中文冒号替换为英文冒号即可。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

不二如是 发表于 昨天 19:10

鱼油现在的 m 和 s 是整数,f"{m}" 默认不会补零。

直接用“格式化宽度+补0”就行:

m, s = divmod(187, 60)
h, m = divmod(m, 60)
print(f"{h}:{m:02d}:{s:02d}")
页: [1]
查看完整版本: 如 何 实 现 输 出 0:03:07