Python实现三位水仙花数判断与位值提取

小满
小满
发布时间:2026-10-13| 5人浏览过
原创

本文提供Python代码示例,演示如何判断一个三位数是否为水仙花数,并详细解析提取百位、十位和个位数值的方法。通过整除与取模运算,展示具体的计算逻辑及完整实现代码,帮助初学者理解数字位值处理技巧。

Python水仙花数判断代码

以下直接展示相关代码实现。

完整判断逻辑与代码


# python输入一个水仙花数(三位数) 输出百位十位个位
"""
从控制台输入一个三位数num,
如果是水仙花数就打印num是水仙花数,
否则打印num不是水仙花数
"""
"""
任务:
1、定义变量num用于存放用户输入的数值
2、定义变量gw、sw、bw分别用于存放输入的三位数的个位,十位,百位
3、定义变量total,用于存放各位数字立方和
4、用if语句判断各位数字立方和是否等于该本身
5、符合条件输出num是水仙花数,反之输出num不是水仙花数
"""
"""
任务提示

1、"水仙花数"是指一个三位数,其各位数字立方和等于该本身。
 例如:输入153,因为153=1^3+5^3+3^3,所以153是一个水仙花数。
"""
num = int(input("请输入一个三位数:"))
# print('%s*10^2+%s*10+%s' % (num[0], num[1], num[2]))
gw = num%10
sw = (num/10)%10
bw = num/100
total = gw*gw*gw + sw*sw*sw + bw*bw*bw
if( total == num):
  print("是水仙花数")
else:
  print("不是水仙花数")

"""
"""
shuixianhua=[]
for i in range(1,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:
  shuixianhua.append(100*i + 10*j + k)
for i in shuixianhua:
 if i == shuixianhua[-1]:
 print(i)
 else:
 print(i, end = ',')

程序运行输出示例

三位数各位数值提取方法

补充知识:Python中提取三位数的各位数值

设定一个具体的三位数变量

a = 123456789

获取百位数值:a//100%10

获取十位数值:a//10%10

获取个位数值:a//1%10

通用规律:提取倒数第n位的数值,可通过a//n%10实现

以上关于Python输入三位水仙花数并输出各位数值的实例分享完毕,供读者参考。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。