也许是一个愚蠢的问题,我试图在循环中打印数字,使它们是 10 的倍数。只要循环中的时间步长是 10 的倍数,这很容易。这就是我的做法:
time = 0.
timestep = 2.
while time <= 100.:
if int(round(time)) % 10 == 0:
print time
time += timestep
这给了我一个输出:
0.0
10.0
20.0
30.0
40.0
50.0
60.0
70.0
80.0
90.0
100.0
如果我使用 timestep = 1,我会得到类似的输出。我的问题是,现在我的时间步长是作为另一个变量的函数给出的,并且是一个带有许多小数的浮点数。例如,在一种情况下,时间步长是 1.31784024239,如果我尝试做一个类似的循环,我得到的数字就不再那么统一了。例如,我得到:
0.0
19.7676036358
30.310325575
39.5352072717
50.0779292108
69.8455328467
80.3882547858
89.6131364825
我的问题是,是否有任何技巧可以统一打印我的输出 - 比方说,每 10 天?它不必正好是 10,但我想有一个点,例如,在 0 到 19(大约 10)之间和另一个大约 60,因为从 50.07 到 69.84 有一个跳跃。
我不知道这是否可能,但任何想法都会很有帮助,因为我的许多时间步长都是带有许多小数的浮点数。