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

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

三位水仙花数的计算app

描述

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

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

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

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

下面是个人代码:it

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))
相关文章
相关标签/搜索