Python代码找出所有水仙花数的方法

  介绍

这篇文章将为大家详细讲解有关Python代码找出所有水仙花数的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Python代码找出所有水仙花数的方法:首先用列表推到遍历所有的三位数,每个数都打上标记,然后筛选出标记为真正的元组,最后第一句筛选出来的元组的第二个值放到列表结构里,并加上打印语句即可。

 Python代码找出所有水仙花数的方法

<强> Python代码找出所有水仙花数的方法:

<强>方法一:

在祝辞祝辞   在在在=列表(地图(λx: x[1],过滤器(λx: x[0],[(我* 100 + j * 10 + k==我* * 3 + j * * 3 + k * * 3,我* * * * 3 + 3 + j k * * 3)我的范围(1,10)j的范围(0,10)k范围(0,10)))))   在在在print ()   (153、370、371、407)   祝辞祝辞祝辞

说明:

上面的代码可以分解三句代码:

a=[(我* 100 + j * 10 + k==我* * 3 + j * * 3 + k * * 3,我* * * * 3 + 3 + j k * * 3)我的范围(1,10)j的范围(0,10)k范围(0,10))   b=过滤器(λx: x [0])   c=列表(地图(λx: x [1], b))

第一句表示用列表推到遍历所有的三位数,每个数都打上标记,是水仙花数着标记真的,不是则标记错的,标记和数放到一个元祖:(国旗,价值),所有元组放在一个列表结构里。

第二句表示筛选出标记为真正的元组。

第三句表示把c。

加上打印语句,执行一遍上面三句代码即可明白。

<强>方法二:

只用列表推导。

在祝辞祝辞=(我* * 3 + j * * 3 + k * * 3我的范围(1,10)j的范围(0,10)对k范围(0,10)如果我* 100 + j * 10 + k==我* * 3 + j * * 3 + k * * 3)   在在在print ()   (153、370、371、407)   祝辞祝辞祝辞

Python代码找出所有水仙花数的方法