• 技术文章 >后端开发 >Python教程

    python怎么输出所有的水仙花数

    青灯夜游青灯夜游2021-05-10 21:55:46原创3299

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

    本教程操作环境:windows7系统、python3.7版,DELL G3电脑

    所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: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个数,每个数分解出个位,十位,百位。

    第一行:

    for n in range(100,1000):

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

    第二行:

    i = n // 100

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

    第三行:

    j = n // 10 % 10

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

    第四行:

    k = n % 10

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

    第五行:

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

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

    【相关推荐:Python3视频教程

    以上就是python怎么输出所有的水仙花数的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:python 水仙花数
    上一篇:cmd中pip不是内部或外部命令怎么解决 下一篇:python怎么将列表转为字符串
    线上培训班

    相关文章推荐

    • 一分钟学会用Python的第三方库openpyxl画真散点图• Python3中* 和 ** 运算符的用法是什么• 详解python中的求和函数sum()• Python中如何求列表list的平均数• 一张图带你了解python• python如何修改Dataframe列名

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网