Python中选择结构和循环结构练习

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。

这怎么解释?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值