Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0189
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在:
- 个人网站: `https://oeasy.org`
- 蓝桥云课: `https://www.lanqiao.cn/courses/3584`
- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
- Gitee: `https://gitee.com/overmind1980/oeasypython`
---- 上次研究了颜色的规律输出
- 其实在规律的基础上加上random就是紊乱
- 有序和无序其实是相生的
- 二重循环是否可以优化呢?🤔
- 我们来看这个问题
- 我们想计算200以内所有的完全平方数
- 什么是完全平方数?
- 本身为其他数字平方的数字
- 什么是完全平方数?
- 怎么通过编程得到呢??
- 不要翻页尝试自己做出来
- 我们可以尝试
- 从1-200
- 每个数字测试一下
- 判断他是不是一个完全平方数
- 那怎么进行判断呢?
- 这个运行结果正确么?
- 结果是正确的
- 但过程需要循环200遍
- 没有必要循环那么多次
- 可以优化么?
- 这样子确实效率更高
for num in range(200):
if num**2 > 200:
break
print(num**2)
- 原来是
- 穷举所有的数
- 分析数字是否为平方数
- 现在是
- 遍历基础数字
- 分析平方是否小于200
- 结果也是正确的
- 超200的时候
- 就break了
- 但每次都得判断
- 需要寻找更合适的边界
-
导入math函数
- 计算200的平方根
-
然后编写代码
- 这种方法更好
- 尤其是 数据值 非常大的时候
- 这让我想到一句python之禅
- 最长的这句
- (解决问题)应该有,最好只有,一种明显的方法。
- 这次我们算了完全平方数
- 有两种方法
- 遍历平方数
- 遍历平方根
- 经过比较
- 一重循环不一定比二重循环差
- 算法确实是可以优化的
- 优化之后
- 时间和空间都能节省
- 是很有意思的
- 那还有比二重循环更复杂的循环么?🤔
- 下次再说!👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。









