1 回答
TA贡献1874条经验 获得超12个赞
答案是不同的,因为您的 dict 中的项目在两个版本中以不同的顺序使用。
在 Python 2 中,dicts 是无序的,所以你需要做更多的事情来按照你想要的顺序获取项目。
顺便说一句,不要使用“dict”或“list”作为变量名,这会使调试变得更加困难。
这是固定代码:
def format_duration(seconds):
units = [('year', 86400*365), ('day', 86400), ('hour', 3600), ('minute', 60), ('second', 1)]
secs = seconds
count = []
for uname, usecs in units:
if secs // usecs != 0:
count.append((secs // usecs, uname))
secs %= usecs
words = [str(n) + ' ' + (unit if n == 1 else unit + 's') for n, unit in count]
if len(words) > 1:
result = ', '.join(words[:-1]) + ' and ' + words[-1]
else:
result = words[0]
return result
print(format_duration(62))
添加回答
举报