我让用户输入的输入是秒。大多数时候我能够将输入转换为hh:mm:ss格式,但是当数字变得更大时,我似乎遇到了一些问题。例如,当我输入900时,我得到01:15:-100的结果。我特别不想要否定,并且每个数字只需要两个摘要(也没有小数)。不确定我的数学是否出错了。
if sys.argv[1] == "raceTime":
n = int(sys.argv[2])
if n < 60:
s = format(number, '0>2.0f')
print("{}:{}:{}".format(00, 00, s))
else:
n = int (sys.argv[2])/60
m =n//1
h = min//10
s = (n - h - m)*100
second = format(s,'0>2.0f')
minute = format(m, '0>2.0f')
hour = format(h, '0>2.0f')
print("{}:{}:{}".format(hour, minute, second))
答案 0 :(得分:2)
使用正确的string formatting:
second = format(sec, '02.0f') # etc.
或只是
print("{:02.0f}:{:02.0f}:{:02.0f}".format(hour, min, sec))
# f -> float, 02 -> 2 places before (0-padded), .0 -> 0 places after point