减法错误
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 而不是减,这似乎是错误的来源。
我在 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 而不是减,这似乎是错误的来源。