2015-09-21 3 views
-1

упражнение я работаю над должен отобразить следующий вывод:Не получаю вывод, который мне нужен в моем коде, и я не могу понять, почему. Python

Enter name of data file: gps.txt 
--------------------------------------------------------------------------- 
Time  Latitude Longitude  Distance  Pace 
(hh:mm:ss) (deg)  (deg)  (miles)  (min/miles) 

--------------------------------------------------------------------------- 
10:57:32 38.898556 -77.037852  *****  ***** 
11:00:45 38.897147 -77.043934  0.341  9.421 
11:03:28 38.896432 -77.052102  0.442  6.141 
11:05:34 38.897411 -77.047212  0.272  7.730 
11:08:58 38.898999 -77.040000  0.403  8.431 
11:13:54 38.909032 -77.036894  0.713  6.915 
11:19:24 38.920011 -77.029782  0.850  6.471 
11:25:47 38.931111 -77.025432  0.802  7.957 
--------------------------------------------------------------------------- 
Your fastest speed was 6 minutes and 9 seconds per mile. 

Когда я запускаю свою программу здесь есть был получает выводимый:

Enter name of data file: gps.txt 
--------------------------------------------------------------------------- 
Time  Latitude Longitude  Distance  Pace 
(hh:mm:ss) (deg)  (deg)  (miles)  (min/miles) 

--------------------------------------------------------------------------- 
10:57:32 38.898556 -77.037852  *****  ***** 
11:00:45 38.897147 -77.043934  0.341  1935.282 
11:03:28 38.896432 -77.052102  0.442  1500.225 
11:05:34 38.897411 -77.047212  0.272  2449.924 
11:08:58 38.898999 -77.040000  0.403  1658.896 
11:13:54 38.909032 -77.036894  0.713  944.564 
11:19:24 38.920011 -77.029782  0.850  799.326 
11:25:47 38.931111 -77.025432  0.802  854.834 
--------------------------------------------------------------------------- 
Your fastest speed was 854 

Как вы можете видеть, почти все правильно, за исключением темпа и самой быстрой скорости вниз. Файл Читаю из выглядит следующим образом:

10:57:32 38.898556 -77.037852 
11:00:45 38.897147 -77.043934 
11:03:28 38.896432 -77.052102 
11:05:34 38.897411 -77.047212 
11:08:58 38.898999 -77.040000 
11:13:54 38.909032 -77.036894 
11:19:24 38.920011 -77.029782 
11:25:47 38.931111 -77.025432 
+0

Я думаю, что линия this_pace = time_elapsed должна быть равна времени/расстоянию –

ответ

0

Основная проблема, кажется, что вы установили «this_pace», чтобы «время, прошедшее», не потрудившись включать расстояние в вашем расчет.

В дальнейшем добавьте инструкции печати для отслеживания как потока выполнения, так и вычисляемых данных. Например, печать и проверка каждой переменной в вашем основном цикле вычислений немедленно отобразила бы проблему.

Также рассмотрим инкрементную разработку: добавьте несколько строк или один цикл за раз. Отлаживайте это, прежде чем добавлять больше.

+1

Он учитывает расстояние в расчете 'time_elapsed'. Это неправильно. – Barmar

0

Я могу также видеть, что:

current_dist = float(current_time - previous_time) 
    time_elapsed = abs(((current_dist - previous_dist)/ 60)/distance) 
    this_pace = time_elapsed 

Кажется мне, что первые два назад. Первое вычисляет прошедшее время. Второй вычисляет темп; он должен просто рассчитать расстояние, с темпом, вычисленным на этой строке.

Смежные вопросы