我目前正在编写一个速度相机检查程序,记录驱动程序通过两个传感器所需的时间。
我想通过使用speed = distance / time
找到用户的平均速度使用高速摄像机,距离已知,但时间不是。这是我的一些代码。
distanceapart = 20
start = input("Press enter to start")
starttime =(datetime.now())
stop = input("Press enter to stop")
stoptime =(datetime.now())
time = stoptime-starttime
这是为了记录用户的时间。
其中一项产出是 '0:00:00.451445秒'
我试过了
distanceapart/time
但它不起作用
有没有让这项工作?
提前致谢
答案 0 :(得分:1)
我使用专用的精确计时器:
import sys
import time
# a cross-platform precision timer
get_timer = time.clock if sys.platform == "win32" else time.time
distance = 20
input("Press enter to start.")
start_time = get_timer()
input("Press enter to stop.")
stop_time = get_timer()
delta_time = stop_time - start_time # passed time in seconds
speed = distance / delta_time # the unit depends on the unit of your `distance` value
答案 1 :(得分:0)
start和end之间的区别给出了timedelta个对象。您需要使用timedelta中的一个类字段来访问时差。
from datetime import datetime
start = datetime.now()
end = datetime.now()
delta = end - start
distance = 20
speed = distance / delta.seconds
# 4.0 distance units / second
答案 2 :(得分:0)
这应该有所帮助:
import datetime
import time # for sleep
dt = datetime.datetime.now() # one now()
time.sleep(1.83)
dt2 = datetime.datetime.now() # another now() a bit later
dtdelta = dt2-dt # time spent (it is a deltatime)
print( dtdelta.total_seconds()) # in total_seconds - use it to calculate your speed
Dokumentation:https://docs.python.org/3/library/datetime.html#module-datetime