Обновление:
Я - полный новичок в python, если это не ясно.
Я хотел бы использовать понимание списка и сохранить все мои методы и задания в одном линия, но это мешало мне понять. Мой окончательный код прошел шаг за шагом через процесс. Возможно, это не самый эффективный способ, но я смог это выяснить.
Я использовал нарезку, вырезание и разделение, чтобы вывести свои числа из строки, а затем преобразовал каждое в их необходимые единицы.
distanceList = [0.04, 0.05, 0.91, 0.16, 18]
timeList = ['7m:13s', '11m:29s', '16m:48s', '3m:26s', '120m:0s']
zipList = zip(distanceList, timeList)
for i in zipList:
distance = i[0]
time = i[1]
numbers = time.split("m:")
minute = numbers[0]
sec = numbers[1].strip("s")
hoursmin = (float(minute) / 60)
hourssec = (float(sec) / 3600)
hours = (hoursmin + hourssec)
mph = (distance / hours)
print("Distance: ", distance, "Time: ", time, "Speed: ", round(mph, 2), "miles/hr")
вывод:
('Distance: ', 0.04, 'Time: ', '7m:13s', 'Speed: ', 0.33, 'miles/hr')
('Distance: ', 0.05, 'Time: ', '11m:29s', 'Speed: ', 0.26, 'miles/hr')
('Distance: ', 0.91, 'Time: ', '16m:48s', 'Speed: ', 3.25, 'miles/hr')
('Distance: ', 0.16, 'Time: ', '3m:26s', 'Speed: ', 2.8, 'miles/hr')
('Distance: ', 18, 'Time: ', '120m:0s', 'Speed: ', 9.0, 'miles/hr')