2 回答

TA贡献2011条经验 获得超2个赞
会不会是这样exec_first == exec_second?在这种情况下,您的 if-else 会将 1 添加到秒。
尝试将您的 if-else 更改为以下内容:
if exec_first > exec_second:
first += 1
elif exec_second > exec_first:
second += 1
else:
pass

TA贡献1793条经验 获得超6个赞
您将所有关系分配给一个类别。尝试一个中间立场:
import time
counts = 300000
first = 0
second = 0
same = 0
for _ in range(counts):
exec_first = time.time() - time.time()
exec_second = time.time() - time.time()
if exec_first == exec_second:
same += 1
elif exec_first > exec_second:
first += 1
else:
second += 1
print('1sts: %s' % first)
print('same: %s' % same)
print('2nds: %s' % second)
输出:
$ python3 so.py
1sts: 53099
same: 194616
2nds: 52285
$ python3 so.py
1sts: 57529
same: 186726
2nds: 55745
另外,我对您为什么认为函数调用可能需要 0 时间感到困惑。每次调用都至少需要访问系统时钟并将该值复制到某种临时位置。这在任何当前的计算机上都不是免费的。
添加回答
举报