如果 current_hour、current_month 和 current_section 表示的时间早于 due_hour、due_minute 和 due_section 表示的时间,则作业符合条件。部分指上午/下午。
我是编程新手,正在解决以下问题。我能够解决所有测试用例,除了当前时间为 12:37 AM 且截止时间为 9:00 AM 的实例。
当我在代码中尝试它时,它返回“False”而不是“True”,即使当我自己查看它时,我看不到它如何按照我在代码中概述的标准返回“False”而不是“True” .
任何帮助将不胜感激,提前致谢!
if current_section == "PM" and current_hour != 12:
current_hour += 12
if due_section == "PM" and due_hour != 12:
due_hour += 12
if current_section == "PM" and due_hour == 12:
due_hour -= 11
if current_section == "AM" and due_hour == 12:
due_hour -= 11
if due_section == "PM" and due_hour == 12:
due_hour -= 11
if due_section == "AM" and due_hour == 12:
due_hour -= 11
if current_hour < due_hour:
print("True")
else:
print("False")
if current_hour == due_hour:
if current_minute < due_minute:
print("True")
你似乎把这件事复杂化了一点。
注意这是纯粹的,没有使用时间和日期时间库
我首先会将所有时间转换为 24 小时制,这样
9:20PM
就会变成 21:20
并且 9:20AM
会保留 9:20
要做到这一点,就像:
if due_section == "PM":
due_hour += 12
if current_section == "PM":
current_hour += 12
# Then simply check the hour then minutes.
if due_hour < current_hour:
print("False - Overdue by hours.")
elif due_hour == current_hour and due_minute < current_minute:
print("False - Overdue by minutes.")
else:
print("True - On Time.")