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

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

本文提供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 相关产品和应用

全部下载

专题列表