3 回答

TA贡献1824条经验 获得超6个赞
使用标准库:
import datetime
numbers = [7, 12, 16, 18]
hours = [datetime.time(num).strftime("%I:00 %p") for num in numbers]
# ['07:00 AM', '12:00 PM', '04:00 PM', '06:00 PM']

TA贡献1880条经验 获得超4个赞
尝试这个:
import datetime
numbers = [7,12,16,18]
hours=[]
for i in numbers:
if i <= 12:
time = str(datetime.timedelta(hours=i)) +" AM"
else:
time = str(datetime.timedelta(hours=i-12)) + " PM"
hours.append(time)
print(hours)
输出:
['7:00:00 AM', '12:00:00 PM', '4:00:00 PM', '6:00:00 PM']

TA贡献1875条经验 获得超3个赞
不是最干净的方式,但会完成这项工作:
numbers = [7,12,16,18]
hours = []
for n in numbers:
if n < 12:
if len(str(n)) == 1:
temp = "0"+str(n)+":00 AM"
else:
temp = str(n)+":00 AM"
else:
x = n - 12
if x == 0:
temp = "12:00 PM"
if len(str(x)) == 1:
temp = "0"+str(x)+":00 PM"
else:
temp = str(x)+":00 PM"
hours.append(temp)
输出:
['07:00 AM', '12:00 PM', '04:00 PM', '06:00 PM']
添加回答
举报