+ 1
Code Coach Military Time
Follwing is the code that I have written for the military time problem in the code coach section. When I ran my code in IDLE it gives me the desired output but when I run it in this platform it gives no output. Please help me fix this out. hour = input() minutes = input() duration = input() if int(hour) == 12 and duration == 'AM': hour = "00" elif int(hour) == 12 and duration == 'PM': hour = 12 if duration == 'PM' and int(hour) != 12: hour = 12 + hour time24 = str(hour) + ":" + str(minutes) print(time24)
7 Antworten
+ 2
There is only one input in code coach so you should have only one input() statement. That will have all the info needed for the task, you just need to split the input up into hour, minutes, etc.
+ 2
Neeraj Jain If input is 12:xx PM, your code will output 24:xx because the "PM" is checked before the hours = 12 and am_pm = "PM". Try switching the second elif and the if conditionals around.
+ 2
Neeraj Jain I think the issue now is that, when the hour is less than 10, you need a preceding 0 to make the hour up to two digits. Output must be of format HH:MM. If the hour is 1, you must output 01:xx for it to be correct.
+ 1
Russ I have made the changes in my code. When I run it using IDLE I didn't get the error mentioned by you in the previous comment but in this platform still 2 test cases are not passed out of 5. Those are hidden test cases.Please help me out with this.
Here is the modified code:
time = input("")
split_time = time.split(" ")
split_hour_minutes = split_time[0].split(":")
am_or_pm = split_time[1]
hours = split_hour_minutes[0]
minutes = split_hour_minutes[1]
if am_or_pm == 'PM' and int(hours) == 12:
hours = 12
elif am_or_pm == 'PM' and int(hours) != 12:
hours = int(hours) + 12
elif int(hours) == 12 and am_or_pm == 'AM':
hours = "00"
time24 = str(hours) + ":" + str(minutes)
print(time24)
+ 1
Thank you so much Russ 👍👍👍💯💥😬
+ 1
Congrats! 🎉🎉👍
0
Russ I have made the necessary changes in my code still 2 test cases did not pass out of 5 test cases
Please help me out with this.
time = input("")
split_time = time.split(" ")
split_hour_minutes = split_time[0].split(":")
am_or_pm = split_time[1]
hours = split_hour_minutes[0]
minutes = split_hour_minutes[1]
if am_or_pm == 'PM':
hours = int(hours) + 12
elif int(hours) == 12 and am_or_pm == 'AM':
hours = '00'
elif int(hours) == 12 and am_or_pm == 'PM':
hours = 12
time24 = str(hours) + ":" + str(minutes)
print(time24)