python 菜鸟求助 用最简单的for循环输出1-999内的所有水仙花数 关于Python用for循环求100~999的水仙花数,请帮...

python \u4e2d\u5982\u4f55\u7528while\u5faa\u73af100\u5230999\u6c34\u4ed9\u82b1\u6570\uff1f

\u9898\u4e3b\u4f60\u597d,
\u4ee3\u7801\u53ca\u6d4b\u8bd5\u622a\u56fe\u5982\u4e0b:

\u5e0c\u671b\u53ef\u4ee5\u5e2e\u5230\u9898\u4e3b, \u6b22\u8fce\u8ffd\u95ee.

\u5982\u679c\u4f60\u5728\u5faa\u73af\u4e2d\u8f93\u51faa\uff0cb\uff0cc\u7684\u503c\uff0c\u4f60\u4f1a\u53d1\u73b0\u5b83\u4eec\u662ffloat\u7c7b\u578b\u7684
\u6240\u4ee5\u5e94\u8be5\u6539\u4e3a\uff1a
if i==(int(a)**3+int(b)**3+int(c)**3):

from functools import reduce
n = int(input("请输入范围数:"))
for a in range(10,n):
    b = []
    c = len(str(a))
    for i in range(c):
        d = str(a)
        b.append(int(d[i])**c)
    if reduce(lambda x,y: x + y, b) == a:
        print(a)

可以求指定上限范围内的水仙花数,

1千万以内的水仙花数 (严格来说就4个水仙花数)

153    

370    

371    

407    

1634    

8208    

9474    

54748    

92727    

93084    

548834    

1741725    

4210818    

9800817    

9926315





python

for num in range(1, 1000):
    geWei = num % 10
    baiWei = int(num / 100)
    shiWei = int((num - baiWei * 100) / 10)
    sum = geWei * geWei * geWei + shiWei * shiWei * shiWei + baiWei * baiWei * baiWei
    if sum == num:
        print("%d是水仙花数" % num)



扩展阅读:菜鸟编程官网html ... python runoob ... eval python 菜鸟 ... 零基础学python要多久 ... python编程入门自学 ... 菜鸟下载安装 ... python基础代码大全 ... 菜鸟app ... python代码自动生成器 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网