文章目录
- 1. 问题描述
- 2. 问题分析
- 3. 算法思路
- 4. 代码实现
- 粉丝福利
- 学习资源推荐
- ](https://blog.csdn.net/Java_ZZZZZ/article/details/135478862?spm=1001.2014.3001.5501)[2.Python基础学习
- ](https://blog.csdn.net/Java_ZZZZZ/article/details/135478862?spm=1001.2014.3001.5501)[3.Python小白必备手册
- ](https://blog.csdn.net/Java_ZZZZZ/article/details/135478862?spm=1001.2014.3001.5501)[4.数据分析全套资源
- ](https://blog.csdn.net/Java_ZZZZZ/article/details/135478862?spm=1001.2014.3001.5501)[5.Python面试集锦
1. 问题描述
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
- 水仙花数是一个三位数:111 333 456 999 530
- 水仙花数的个位、十位、百位的数字立方和等于原数
大家在刚学习Python的时候,一定要先自己练习,然后再看博主分享的代码和解题思路哦!这样才能快速提高自己的编程水平,一起加油~
2. 问题分析
怎么获取个位、十位、百位上的数?
- 个位数
371 :就是原始数字对10进行取余的运算结果 371 % 10 = 1
- 十位数
371:371通过除以10,可以将7移动到个位上去(整数):371 / 10 = 37
37:37对10进行取余可以得到最后一位的值7 :37 % 10 = 7
- 百位数
371:3就是原始数字除以100的结果(整除):371 // 100 = 3
思考:任意数字的指定位置上的数值如何求?
123456789:先10000得到12345;再对10取余得到5
3. 算法思路
-
使用循环从100开始到999结束
-
每次的循环体内,获取百位数数字、十位数数字、个位数数字
-
判断百位数数字三次方加十位数数字的三次方加个位数数字的三次方是否等于它本身,如果是就是水仙花数。
4. 代码实现
4.1 for循环代码实现
print('100到1000之前的所有水仙花数如下:')
for i in range(100, 1000):
# 取百位数字 371 // 100 = 3
x = i // 100
# 取十位数 371 // 10 =3 7; 37 % 10 = 7
y = i // 10 % 10
# 取个位数 371 % 10 = 1
z = i % 10
# 判断个位、十位、百位的数字立方和等于原数
if x ** 3 + y ** 3 + z ** 3 == i:
print(f'{i}是水仙花数')
运行结果:
4.2 while循环代码实现
print('100到1000之前的所有水仙花数如下:')
number = 100
while number < 1000:
# 取百位数字 371 // 100 = 3
x = number // 100
# 取十位数 371 // 10 =3 7; 37 % 10 = 7
y = number // 10 % 10
# 取个位数 371 % 10 = 1
z = number % 10
# 判断个位、十位、百位的数字立方和等于原数
if x ** 3 + y ** 3 + z ** 3 == number:
print(f'{number}是水仙花数')
# 需要设置number每次加一
number += 1
运行结果:
此专栏文章是专门针对 Python 0基础小白所准备的每日一道经典练习题,觉得不错的话,欢迎订阅!
粉丝福利
如果你是0基础,想要学习Python的话,可以试试我整理的这份Python全套学习资料,0基础入门+进阶实战,学完就可以自己在网上帮人写写脚本,接单赚米了~
需要的可以自行扫描下方SCDN官方认证二维码免费领取
资料包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、大厂面试题、Python练习题、Python实战案例源码等学习教程。带你从零基础到精通!
学习资源推荐
除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。
这里给大家展示一下我进的兼职群和最近接单的截图
😝朋友们如果有需要的话,可以V扫描下方二维码联系领取,也可以内推兼职群哦~
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
### 1.Python学习路线
2.Python基础学习
01.开发工具
02.学习笔记
03.学习视频
3.Python小白必备手册
4.数据分析全套资源
5.Python面试集锦
01.面试资料
02.简历模板
因篇幅有限,仅展示部分资料,添加上方即可获取👆
------ 🙇♂️ 本文转自网络,如有侵权,请联系删除 🙇♂️ ------