这两天学习的过程中,遇到了OJ用例超时的问题。当时曾经怀疑过 for 和 while 的用时不同,在网上搜索,看到了一个帖子:
作者用 java 测试,得到的结果是 while 比 for 循环快一倍左右。于是想试试 python 是不是也一样。
统计时间用的是 timeit 模块,先给出代码:
import timeit
# 用for累加到100
def add_for():
i = 0
for i in range(100):
i += 1
# 用while累加到100
def add_while():
i = 0
while i < 5050:
i += 1
# 每组循环各完成1000次,重复统计10次时间
t = timeit.repeat(stmt="add_for()", setup="from __main__ import add_for", number=1000, repeat=10)
s = timeit.repeat(stmt="add_while()", setup="from __main__ import add_while", num