只是出于好奇,我一个简单的数字一个数字的算法来求相同值的平方根 20 次(叹息我知道...)我对所有 20 次运行都得到了相同的结果,但所有执行的运行时间不同。这是预期的观察结果还是我对计时器的编码很差?def tester(orange): import timeit x = orange step = 1 guess = 0 epsilon = 0.0000000001 start = timeit.default_timer() while guess ** 2 < x: guess += step if guess ** 2 > x: guess -= step if step > epsilon: step = step / 10 else: break print("The square root of", x, "is", guess) stop = timeit.default_timer() print('Time: ', stop - start) number = int(input("Enter the number of times that you want to run this test: "))answer = float(input("Enter a number to find the square root for: "))while number > 0: tester(answer) number -= 1
1 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
timeit.default_timer()
测量挂钟时间而不是 CPU 时间。因此,在您的计算机上运行的其他进程(包括后台进程)会影响其时间。如果您运行代码大约 100 次并打开 chrome 并在运行时对其进行处理,您可以看到这一点。您会看到时间略有增加,因为 chrome 使用了您 CPU 时间的一小部分。
要更准确地估计您的代码,请使用timeit.timeit
.
添加回答
举报
0/150
提交
取消