Python语言:求水仙花数案例讲解

求水仙花数是循环和判断语句相结合的一个经典案例。

 思路分析

通过循环遍历100到999之间的数字然后根据他们的个位,十位,百位上的数字立方和是否为他本身来判断分析得出什么数是水仙花数。

1)如何循环遍历100到999的所有数字?

使用while循环语句即可。

2)如何求出一个三位数的个位,十位,百位上的数字是多少?

例子:有一个三位数123,求出他的个位,十位,百位上的数字是多少。

个位:123对10取模即可:123 % 10 = 3  

十位:先对123整除10得到12,然后12对10取模即可:123 // 10 % 10 = 2

百位:123整除100即可: 123 // 100 = 1

这个方法适用于所有三位数求他自身的个位,十位,百位上的数字是几,可以放心使用。

3)如何判断出一个数是不是水仙数数?

使用if判断语句来分析:如果一个数自身的个位数,十位数,百位数的立方和是他本身则判定为true并打印输出这个数。

案例代码如下

# 水仙数数
i = 100
a = 0
b = 0
c = 0
while i < 1000:
    a = i % 10  # 个位上的数字是几
    b = i // 10 % 10  # 十位上的数字是几
    c = i // 100  # 百位上的数字是几
    if a ** 3 + b ** 3 + c ** 3 == i:
        print(i)
    i += 1  # 循环判断完一次后i自增1

案例运行结果如下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值