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

青灯夜游
Lepaskan: 2023-01-05 16:14:12
asal
70417 orang telah melayarinya

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

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

本教程操作环境: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)
Salin selepas log masuk

输出:

153
370
371
407
Salin selepas log masuk

详解

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

第一行:

for n in range(100,1000):
Salin selepas log masuk

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

第二行:

i = n // 100
Salin selepas log masuk

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

第三行:

j = n // 10 % 10
Salin selepas log masuk

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

第四行:

k = n % 10
Salin selepas log masuk

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

第五行:

if n == i ** 3 + j ** 3 + k ** 3:
Salin selepas log masuk

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

【相关推荐:Python3视频教程

Atas ialah kandungan terperinci python怎么输出所有的水仙花数. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan