设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 7728|回复: 0
打印 上一主题 下一主题

每日一坑-阿姆斯特朗数的疑问

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

楼主
发表于 2019-9-28 17:10:32 |显示全部楼层
  1. def amu(n):
  2.     r = []
  3.     for j in range(1,n + 1):
  4.         # a = str(j).split()
  5.         x = len(str(j))
  6.         m = []
  7.         # print(m)
  8.         for i in str(j):
  9.             s = int(i) ** x
  10.             # print(x)
  11.             m.append(s)
  12.             p = sum(m)
  13.             # print(p)
  14.         if j == p:
  15.             r.append(j)
  16.     return r

  17. print(amu(1000))
复制代码
你代码问题比较多,我就直接给你改吧
r应该在循环开始初始化,然后在循环里每一步发现正确的值的时候,添加到r里
最后的结果你也没有print

sum的问题是因为里面是一个列表,相当于
x = [int(j)**len(tem) for j in tem]
tem_sum = sum(x)

列表等方面的基础内容你还得再看看
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-3 05:32 , Processed in 0.015605 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部