首页 > 解决方案 > 我正在尝试找到平均速度并想要使用 Python 的最简单方法

问题描述

所以我想以最简单的方式在(米/秒)和(公里/小时)中找到多个输入(在本例中为 2)的平均速度,而不是这样:

dist = float(input('Distance(m) : '))
time = float(input('Finish time(s) : '))
dist_2 = float(input('Distance(m) : '))
time_2 = float(input('Finish time(s) : '))

speed = (dist / time) 
speed_2 = (dist / time) * 3.6
average = (dist / time) + (dist_2 / time_2) / 2
average_2 = (dist / time) + (dist_2 / time_2) / 2 * 3.6

print('speed is(m/s) : ', round(speed, 3))
print('speed is(km/h) : ', round(speed_2, 3))
print('average is(m/s) : ', round(average, 3))
print('average is (km/h) : ', round(average_2, 3))

有没有更简单的方法来做到这一点?谢谢你的帮助 :)

标签: pythonpython-3.x

解决方案


如果您正在查看用户输入,输入端总是会有点笨拙

但在那之后,如果你组装列表,使用统计数据会容易得多。

像下面这样的东西可能会更好,更灵活:

import statistics

dists = []
times = []
speedsMS = []
nJourneys = int(input("How many journeys have been made?"))
for i in range(0, nJourneys):
    dists.append(input("What distance was journey " + str(i+1) + "?"))
    times.append(input("what time did journey " + str(i+1) + " take?"))
    speedsMS.append(dists[len(dists)-1]/times[len(times)-1])


averageSpeedMS = statistics.mean(speedsMS)
averageSpeedKMHr = averageSpeedMS * 3.6

推荐阅读