快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

#6水仙花数(python)-创新互联

欢迎光临我的blog!专栏记录本萌新初学python解题情况,欢迎大家交流思考

成都创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达10多年累计超上千家客户的网站建设总结了一套系统有效的全网推广解决方案,现已广泛运用于各行各业的客户,其中包括:人造雾等企业,备受客户表扬。

题目如上,难度适中

【解】

代码主要包括函数部分

def newlist(i):
    l=[]
    m=[]
    for j in range(pow(10,i-1),pow(10,i)):
        m=list(map(int,str(j)))
        sum=0
        for k in range(len(m)):
            sum=sum+pow(m[k],i)
        if sum==j:
            l.append(sum)
    return l

*要寻找i位数的水仙花数,我们需要在10^(i-1)~10^i之间寻找

*要将每次判断的数j,提取各位数存放在列表m中,用到

m=list(map(int,str(j)))

这样的map函数,需要掌握

*读取数j的每一位数字,判断是否满足水仙花数的要求,若满足,添加到“l“这个列表中,函数返回l

之后只要添加输入和输出即可

i=int(input())
#输入要寻找水仙花数的位数i

print (newlist(i))
#以列表形式输出满足的水仙花数

完整代码如下

i=int(input())
def newlist(i):
    l=[]
    m=[]
    for j in range(pow(10,i-1),pow(10,i)):
        m=list(map(int,str(j)))
        sum=0
        for k in range(len(m)):
            sum=sum+pow(m[k],i)
        if sum==j:
            l.append(sum)
    return l
print (newlist(i))

运行结果:

水平有限,请多多包涵!

欢迎在评论区发表您的意见!!谢谢啦

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


新闻名称:#6水仙花数(python)-创新互联
文章转载:http://6mz.cn/article/egpco.html

其他资讯