老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Python怎么输出所有的水仙花数?老男孩Python开发培训

老男孩IT教育

行业新闻

2022年8月18日 13:52

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。用Python输出水仙花数,对于有面试需求或者对算法感兴趣的同学,是一定要掌握的,在面试过程中,面试官很大程度会让我们书写算法,比如冒泡排序、九九乘法表、水仙花数等,那该如何写呢?请看下文:

       所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。用Python输出水仙花数,对于有面试需求或者对算法感兴趣的同学,是一定要掌握的,在面试过程中,面试官很大程度会让我们书写算法,比如冒泡排序、九九乘法表、水仙花数等,那该如何写呢?请看下文:

Python全栈开发

       编程思路:首先利用for语句循环从100到999的所有数字,并且把它赋值给变量n;然后分解变量n,获取个位数k、十位数j和百位数i;最后判断i、j和k数的立方和是否等于n,如果等于,就使用“print(n)”语句输出即可。

       所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

       Python输出所有的水仙花数:

for n in range(100,1000):
    i = n // 100
    j = n // 10 % 10
    k = n % 10
    if n == i ** 3 + j ** 3 + k ** 3:
        print (n)

       输出:

153
370
371
407

       程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

       第一行:因为水仙花数是一个三位数,所以我们就循环从100到999的所有数字,并且把它赋值给n

for n in range(100,1000):

       第二行:用n整除100,得到的其实就是三位数的百位数字,将它赋值给i

i = n // 100

       第三行:用n整除10,得到的是百位数和十位数组成的两位数,再用这个数除以10求余数,就得到了我们的十位数字,将它赋值给j

j = n // 10 % 10

       第四行:用n除以10,求余数,得到的就是n的个位数数字,将它赋值给k,这个时候三位数n的百位、十位、个位数字,我们都已经得到,并且分别赋值给了i,j,k

k = n % 10

       第五行:判断如果n等于它百位数字的立方+十位数字的立方+个位数字的立方,那么它就是水仙花数,这个时候,将满足条件的n打印出来,否则就进入下一个循环

if n == i ** 3 + j ** 3 + k ** 3:

       老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,科学的制定Python教学课程体系,满足5-8年职业生涯需求,让学员轻松拿下高薪职位!

   推荐阅读:

       【推荐】5大理由告诉你为什么要学Python!老男孩Python培训班

       Python语言的常用语法有哪些?老男孩Python开发培训

       5个超级吃香的Python就业岗位汇总!老男孩Python学习

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。