如何从距离计算速度作为浮点数和时间作为时间增量
How to work out speed from distance as a float and time as a timedelta
如果我有一个以 km 为单位的距离 float 变量,以及一个 timedelta 时间变量,我如何计算 KM/H 中的速度?我不确定如何将 timedelta 更改为浮动小时数。一个例子是:
distance = 0.966757
time = timedelta('0 days 00:01:04')
输出约为 54Kmh
将“1:04”转换为秒
distance = 0.966757
time = datetime.timedelta(0,64)
distance/time.total_seconds()
>>0.015105578125
所以你有速度 distance/second
每小时乘以 3600
3600*distance/time.total_seconds()
>>54.380081249999996
感谢 'total_seconds' 小伙伴们的提示。虽然,在这种情况下我得到了
time.total_seconds() == time.seconds
>>True
首先,您必须使用正确的 arguments:
初始化您的 timedelta
time = timedelta(days=0,hours=0,minutes=1,seconds=4)
timedelta
有一个方法 total_seconds()
所以你获取:
total_seconds = time.total_seconds()
除以 3600,得到小时数:
hours = total_seconds/3600.0
(在 python-3.x 中除以 3600
(int
)就足够了)。
然后用距离(公里)除以时间(小时)计算速度:
speed = distance/hours # unit: kmph
使用distance / ( time.total_seconds() / 3600.0 )
(假设距离已经以公里为单位)。
如果我有一个以 km 为单位的距离 float 变量,以及一个 timedelta 时间变量,我如何计算 KM/H 中的速度?我不确定如何将 timedelta 更改为浮动小时数。一个例子是:
distance = 0.966757
time = timedelta('0 days 00:01:04')
输出约为 54Kmh
将“1:04”转换为秒
distance = 0.966757
time = datetime.timedelta(0,64)
distance/time.total_seconds()
>>0.015105578125
所以你有速度 distance/second
每小时乘以 3600
3600*distance/time.total_seconds()
>>54.380081249999996
感谢 'total_seconds' 小伙伴们的提示。虽然,在这种情况下我得到了
time.total_seconds() == time.seconds
>>True
首先,您必须使用正确的 arguments:
初始化您的timedelta
time = timedelta(days=0,hours=0,minutes=1,seconds=4)
timedelta
有一个方法 total_seconds()
所以你获取:
total_seconds = time.total_seconds()
除以 3600,得到小时数:
hours = total_seconds/3600.0
(在 python-3.x 中除以 3600
(int
)就足够了)。
然后用距离(公里)除以时间(小时)计算速度:
speed = distance/hours # unit: kmph
使用distance / ( time.total_seconds() / 3600.0 )
(假设距离已经以公里为单位)。