没有得到我的代码中我需要的输出,我无法弄清楚原因。蟒蛇

时间:2015-09-21 21:56:49

标签: python for-loop output

我正在进行的练习应该显示以下输出:

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

2 个答案:

答案 0 :(得分:0)

主要问题似乎是您已将“this_pace”设置为“已过去的时间”,而无需在计算中加入距离。

将来,添加跟踪打印语句以跟踪执行流程和计算的数据。例如,在主计算循环中打印和检查每个变量,会立即显示问题行。

另外,请考虑增量开发:一次添加几行或一个循环。在添加更多内容之前进行调试。

答案 1 :(得分:0)

我也可以看到:

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

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