python三位数水仙花数计算_python学习(三)之三位水仙花数

前几天,学完python的数值类型之后,老师留了几道练习题,里面就有三位水仙花数的计算这道题。虽然难度不大,但的确很有趣。下面是对于这道题我的答案,答案已通过验证。

三位水仙花数的计算

描述

“3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

请按照从小到大的顺序输出所有的3位水仙花数,请用一个“逗号+空格”分隔输出结果。

思路:刚开始看到这道题,我就想到了必须把这个三位数的个位、十位和百位分开。那怎么分开呢?这里我们可以用python的取余符号%和取整除符号//这两个符号进行。比如一个三位数123,123//100可以得到百位数1,123%10=3这是个位数,十位数需要计算两次,123//10%10就可以得到十位数2了。

计算过程有了,但提交还是不对,哪地方错了呢?仔细看了下题,原来这道题的输出结果要求是“逗号+空格”,这个不怎么好实现,还好这里我用了列表里的函数操作,最终代码提交成功。str.join(i),在变量i除最后一个元素外加str

下面是我的代码:

1 f=[]#定义了一个列表

2 for i in range(100,1000):3 a=i//100 #百位数

4 b=i//10%10

5 c=i%10

6 if a**3+b**3+c**3 ==i:7 f.append(i)8 print(','.join(str(i) for i in f))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值