我需要找出如何将数字格式化为字符串。我的代码在这里:
return str(hours)+":"+str(minutes)+":"+str(seconds)+" "+ampm
小时和分钟是整数,而秒是浮点数。str()函数会将所有这些数字转换为十分之几(0.1)。因此,而不是我的字符串输出“ 5:30:59.07 pm”,它将显示类似“ 5.0:30.0:59.1 pm”的内容。
最重要的是,我需要为我执行什么库/函数?
从Python 3.6开始,可以使用格式化的字符串文字或 f-strings 完成Python中的格式化:
hours, minutes, seconds = 6, 56, 33 f'{hours:02}:{minutes:02}:{seconds:02} {"pm" if hours > 12 else "am"}'
或str.format以2.7开头的函数:
str.format
"{:02}:{:02}:{:02} {}".format(hours, minutes, seconds, "pm" if hours > 12 else "am")
或甚至更旧版本的Python的字符串格式%运算符,但请参阅文档中的注释:
%
"%02d:%02d:%02d" % (hours, minutes, seconds)
对于您特定的格式化时间,有time.strftime:
time.strftime
import time t = (0, 0, 0, hours, minutes, seconds, 0, 0, 0) time.strftime('%I:%M:%S %p', t)