Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0190
- 这是 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`
---- 上次我们算了完全平方数
- 有两种方法
- 遍历平方数
- 遍历平方根
- 经过比较
- 一重循环不一定比二重循环差
- 算法确实是可以优化的
- 优化之后
- 时间和空间都能节省
- 是很有意思的
- 那还有比二重循环更复杂的循环么?🤔
- 下次再说 👋
- 三重循环有三重
- 内圈
- 中圈
- 外圈
- 有这个必要么?
- 是不是有点为了多重循环而多重循环了
- 古希腊神话传说有一个美少年
- 来到池塘边
- 水面上赫然倒影着他自己的脸庞
- 惊讶之余他也深深吸引着自己不自觉地凝视着水面上自己样子
- 照镜子照入迷了
- 结果就落水了
- 没起来
- 给淹死了
- 不久后池塘边上生长出来了淡黄色花朵的植物
- 至此这花就和这哥们儿一个名字了Nazissen(延伸意:自恋,自我陶醉)
- 自爱是必要的
- 自恋就有点沉迷了...
- 数字里面也有自恋的水仙花数
- 每个数字的三次方之和等于自身
- 那么这个数字就自恋
- 就是水仙花数
- 如何得到所有水仙花数呢?
- 从100开始
- 到999结束
- 彻底遍历一次
i = 100
while i < 1000:
s = 0
for e in str(i):
s += int(e) **3
if s == i:
print(i)
i += 1
- 还有什么其他方法吗?
for i in range(10):
for j in range(10):
for k in range(10):
if (i*i*i + j*j*j + k*k*k == 100*i + 10*j + k):
print(i,j,k,sep="")
- 这样确实可以完成
- 不过好像还可以提高效率
- 100以内不用遍历
- 但这好像不太完整
- 其实就是百位避免是0就可以了
- 这回就正确了
- 个人认为 后面方法更好
- 不需要 类型转化
- 不需要 切分字符串
- 效率 更高
- 我们需要不断反思
- 观察自己的
- 大脑结构
- 肠胃状态
- 身体情况
- 周围环境
- 但是 不要自恋!
- 观察自己的
- 不断观察
- 不断修改自己的思路
- 直到顺利完成任务
- 在这基础上
- 遍历所有四位的水仙花数也没有问题
- 那就应该是个
- 四重循环了
- 三重循环遍历所有颜色
- 外面再套一层死循环
- 可以慢慢看到红色
- 这次研究了二重循环之上的多重循环
- 三重循环
- 四重循环
- 说白了就是循环套循环
- 从五运六气到年、月、日
- 再到时、分、秒
- 其实循环嵌套无处不在
- 计算机中的多重循环可以优化吗?🤔
- 下次再说 👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。











