判断水仙花数-课后程序(Python程序开发案例教程-黑马程序员编著-第二章-课后作业)

实例5:判断水仙花数

水仙花数是一个3位数,它的每位数字的3次幂之和等于它本身,例如13 + 53+ 33 = 153,153就是一个水仙花数。

本实例要求编写程序,实现判断用户输入的3位数是否为水仙花数的功能。

实例目标

  1. 掌握Python中运算符的使用
  2. 了解if-else语句的使用

实例分析

判断一个三位数是否是水仙花数,可以将这个三位数进行拆分依次获取百位上的数字、十位上的数字、个位上的数字,然后根据水仙花数的特点判断输入的三位数是否为水仙花数。

例如,一个三位数abc,使用(abc//100%10)方式获取百位上的数字a;使用(abc/10%10)方式获取十位上的数字b;使用(abc%10)获取个位上的数字c,然后计算a3+b3+c3的值与abc的中是否相等,如果相等则为水仙花数,如果不相等则不为水仙花数。

代码实现

num3 = int(input("请输入一个三位数:"))

hundreds_place = int(num3 // 100 % 10)   # 百位

ten_place = int(num3 / 10 % 10)         # 十位

one_place = int(num3 % 10)            # 个位

if hundreds_place ** 3 + ten_place ** 3 + one_place ** 3 == num3:

    print(f"{num3}是水仙花数")

else:

    print(f"{num3}不是水仙花数")

首先将input()函数接收用户输入的三位数转换为int类型,并赋值给变量num3,然后分别获取输入三位数的百位数字、十位数字、个位数字并赋值给变量hundreds_place、ten_place、one_place,接着根据水仙花数的特点将各位上的三次方和进行相加,最后使用if-else语句判断相加结果与输入的三位数是否相等,如果相等则使用print()函数输出输入的三位数是水仙花数,如果不是则执行else语句中的代码,输出输入的三位数不是水仙花数。

代码测试

运行代码,控制台输出结果如下(是水仙花数):

请输入一个三位数:153

153是水仙花数

运行代码,控制台输出结果如下(不是水仙花数):

请输入一个三位数:123

123不是水仙花数

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaozhima-dun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值