题目:利用高阶函数map求解所有3位4位5位水仙花数 描述: 3**3+7**3+1**3==371 1**4+6**4+3**4+4**4==1634 5**5+4**5+7**5+4**5+8**5==54748 提示:str(num)变成数字字符串,再用map分离各位数
时间: 2023-11-26 13:03:47 浏览: 75
使用函数输出水仙花数
利用高阶函数map求解所有3位4位5位水仙花数:
```python
# 求解3位水仙花数
L_3 = list(filter(lambda x: sum(map(lambda y: int(y)**3, str(x))) == x, range(100, 1000)))
# 求解4位水仙花数
L_4 = list(filter(lambda x: sum(map(lambda y: int(y)**4, str(x))) == x, range(1000, 10000)))
# 求解5位水仙花数
L_5 = list(filter(lambda x: sum(map(lambda y: int(y)**5, str(x))) == x, range(10000, 100000)))
print("3位水仙花数:", L_3)
print("4位水仙花数:", L_4)
print("5位水仙花数:", L_5)
```
阅读全文