减法错误

subraction error

我在 Python 中构建的速度测试程序存在一定错误。我的程序通过取一个变量 0,加 1 并打印它的值来工作。它重复这 10,000 次,并记录这一切需要多长时间。每1000个周期取一次时间后,整理成一个图表,列为"Cycles"、"Time"、"Time between previous checkpoint"。前一个检查点之间的时间保持正常,直到达到 5 和 6 千个周期。它看起来像这样;

这是 table 代码的片段:

print("   4,000        %ss                  %ss" % (check4, check4 - check3))
print("|          |            |                                  |")
print("   5,000        %ss                  %ss" % (check5, check5 - check4))
print("|          |            |                                  |")
print("   6,000        %ss                  %ss" % (check6, check6 - check5))

如您所见,结果先升后降。问题是,他们不应该。两个事件之间可能存在负时间量是没有意义的。我检查了检查点变量的分配位置,它们是这样的;

    elif(count == 4000):
        check4 = round(time() - start, 3)
        check4 -= 0.3
        Beep(825, 100)
        print("        %s        %ss" % (count, round(time() - start, 2)))
    elif(count == 5000):
        check5 = round(time() - start, 3)
        check5 -= - 0.4
        Beep(850, 100)
        print("        %s        %ss" % (count, round(time() - start, 2)))
    elif(count == 6000):
        check6 = round(time() - start, 3)
        check6 -= 0.5
        Beep(875, 100)
        print("        %s        %ss" % (count, round(time() - start, 2)))

要么是因为我正在寻找其他东西而忽略了某些东西,要么是我的方法有问题。我来这里只是作为最后的手段,我已经断断续续地为此工作了至少 3 个月。

如果有人能找到导致此值异常的原因,请他们回复。

在代码段的第二个 elif 语句中,您似乎有一个不应该存在的减号:

elif(count == 5000):
        check5 = round(time() - start, 3)
        check5 -= [-] 0.4
        Beep(850, 100)

这会使您的程序加 0.4 而不是减,这似乎是错误的来源。