【问题标题】:Not getting the output I need in my code and I can't figure out why. Python在我的代码中没有得到我需要的输出,我不知道为什么。 Python
【发布时间】:2015-09-21 21:56:48
【问题描述】:

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

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

【问题讨论】:

  • 我认为 this_pace = time_elapsed 这行应该是时间/距离

标签: python for-loop output


【解决方案1】:

主要问题似乎是您将“this_pace”设置为“经过的时间”,而没有在计算中考虑距离。

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

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

【讨论】:

  • 他在计算time_elapsed时加入了距离。这是错误的。
【解决方案2】:

我也看到了:

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

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

【讨论】:

    猜你喜欢
    • 2019-07-17
    • 2022-01-24
    • 2022-10-23
    • 2021-12-24
    • 2021-02-07
    • 2019-05-05
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    相关资源
    最近更新 更多