2015-09-21 42 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 

在我看来,前两个是倒退。第一个计算经过的时间。第二个计算速度;它应该只计算距离,以this_pace行计算出步速。

相关问题