2 回答
TA贡献1796条经验 获得超4个赞
您正在与input_time.hour
整数进行比较。没有这样的整数 N 23 <= N <= 6
,因此您elif
语句中的条件永远不会为真。您应该简单地将elif
语句替换为else
.
TA贡献1111条经验 获得超0个赞
如果您输入的时间为:10:24,则此:datetime.datetime.strptime(startime,"%H:%M") 将起作用。如果您将时间输入为 10,您的示例将起作用。
一切都取决于您如何定义时间输入。
另外,你的比较似乎不对。
import datetime
distance_tobecovered = float(input("Please enter a number for the distance: "))
startime = input("Please input the time for the alarm in format HH:MM :")
fixed_charge = 3.5
perkilo_charge = 2.1 * distance_tobecovered
valueforall = fixed_charge + perkilo_charge
v = valueforall + (2 * distance_tobecovered * 0.99)
input_time = datetime.datetime.strptime(startime, "%H:%M")
if ((input_time.hour>=23) or (input_time.hour < 6)):
print("night or early morning")
print(v)#does some calculation
else:
print("day")
print("#does some calculation ")
添加回答
举报