【问题标题】:Python 3 How can I convert user input of MPH and Miles into timedelta?Python 3 如何将 MPH 和 Miles 的用户输入转换为 timedelta?
【发布时间】:2017-12-18 11:25:47
【问题描述】:

如果我的问题有点令人困惑,我深表歉意,因为老实说,我也不是 100% 确定我要做什么。我有一个程序询问用户出发日期和出发时间,所以我最终会输入一些东西 - 比如 2017-11-11 和 11:15 AM。然后程序会询问用户他们将要行驶的英里数和每小时英里数的速度。所以他们可能会输入 300 英里和 65 英里每小时。我需要使用这些信息来创建估计的到达时间,但我一点也不知道如何做到这一点。我的程序接收这些信息没有问题,我只需要知道如何进行计算。

编辑: 这是我的代码示例,因此可能更容易理解我在做什么。

def get_departure_time():
while True:
    date_str = input("Enter departure time (HH:MM AM/PM): ")
    try:
        depart_time = datetime.strptime(date_str, "%H:%M %p")
    except ValueError:
        print("Invalid date format. Try again.")
        continue
    return depart_time

获取出发日期的函数完全相同,因此使用用户输入的这两个值,以及英里和英里/小时的用户输入,我必须创建一个到达时间。

【问题讨论】:

  • 你知道如何在数学上做到这一点吗?我建议从那里开始并从那里开始运行程序。就目前而言,这个问题过于宽泛,只是要求我们为您完成工作。如果您只是在将浮点数转换为时间时遇到问题(不清楚),请参阅:this question
  • 看看here

标签: python python-3.x time timedelta


【解决方案1】:
num_hours = distance / mph
arrival_time = departure_time + num_hours

不确定我是否理解您的问题,但这是您要查找的内容吗?

【讨论】:

  • 这基本上就是我想要做的,但我需要找到一种方法来使用模数和 Timedelta 来实际将时间添加到出发日期并创建到达日期。
  • flight_time = timedelta(hours=num_hours) 然后您应该能够使用您的 flight_time 对象执行算术运算,包括模数运算。您可以参考不同的时间表示形式,例如 flight_time.hoursflight_time.minutes
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多