Python中选择结构和循环结构练习
看过《射雕英雄传》的人,可能会记得,黄蓉与瑛姑见面时,曾出过这样一道数学题:今有物不知其数,三三数之剩二,五五数之剩三,七七数之余二,问几何?
分析:1、整数;2、除以3、5、7分别余2、3、2;3、选择和循环。
代码
for i in range(1, 1000):
if i % 3 == 2:
if i % 5 == 3:
if i % 7 == 2:
print(i)
break
else:
continue
else:
continue
else:
continue
运行结果:23
问题其实挺简单的,试着优化一下代码
for i in range(1, 1000):
if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:
print(i)
break
那么怎么证明优化有效呢?
用time函数算一下
首先考虑的是time库中的time函数,两个相减,发现输出0.0,查找后发现用clock函数好,试了一下发现可以,但是报了警告,又查找后发现建议用process_time,这个直接输出程序的运行时间。
经测试,优化前为0.34375,优化后为0.328125。
仔细一想,该数除以7还余2,那我直接从9开始循环,运行时间为0.3125。
心想着从开始循环到23,次数越少,所花费的时间也越少,所以我试了下15,结果运行时间为0.34375。
这怎么解释?