0-23小时军事时钟到标准时间(hh:mm)
问题内容:
我将如何进行此过程?假设有人输入“ 3:5”,我应该能够得到输出“ 3:05 AM”。或者,如果有人输入“ 00:00”,我应该得到“ 12:00
AM”。如果将时间格式简单地输入为“ hhmm”,我就会意识到有很多解决方法,但是输入的范围可以是“ h:m”,“ hh:m”,“ hh:m”和“
hh:毫米”。所以这是非常情况。
def timeConvert():
miliTime = int(input("Enter a time in hh:mm (military) format: "))
miliTime.split(":")
if len(miliTime) == 3:
hours = miliTime[0]
minutes = miliTime[2]
if hours < 0:
print("Hours can't be less than 0.")
elif len(miliTime) == 4:
if miliTime[0:2] >= 10:
hours = militime[0:2]
minutes = militime[3]
if minutes < 0:
print("Minutes can't be less than 0.")
if minutes < 10:
minutes = 0 + minutes
else:
hours = miliTime[0]
minutes = militime[2:]
if minutes >= 60:
print("Too big of a number for minutes.")
else:
hours = miliTime[0:2]
minutes = miliTime[3:]
setting = AM
if hours > 12:
setting = PM
hours -= 12
print(hours + ":" + minutes + setting)
timeConvert()
问题答案:
用分割输入:
,最后使用格式化的输出:
def timeConvert():
miliTime = input("Enter a time in hh:mm (military) format: ")
hours, minutes = miliTime.split(":")
hours, minutes = int(hours), int(minutes)
setting = "AM"
if hours > 12:
setting = "PM"
hours -= 12
print(("%02d:%02d" + setting) % (hours, minutes))