鱼C论坛

 找回密码
 立即注册
查看: 1148|回复: 4

[已解决]python 1000以内的完数

[复制链接]
发表于 2019-10-19 11:35:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> def iscomplete(i):
        sum=0
        for n in range(1,i):
                if i%n==0:
                        sum=sum+n
        if i==sum:
                return i

       
>>> print([x for x in range(1000) if iscomplete(x)])
最后一行的三个x,分别是什么意思?如果想用L.append(var)应该怎么用?
最佳答案
2019-10-19 11:59:21
人加一 发表于 2019-10-19 11:54
请问这个x为什么不需要写成上文的 i 呢?第二个问题的意思是,我想用if i

1. 也可以改成 i
2.
  1. def iscomplete(i):
  2.     sum = 0
  3.     for n in range(1, i):
  4.         if i % n == 0:
  5.             sum = sum + n
  6.     if i == sum:
  7.         return i


  8. L = []
  9. for var in range(1000):
  10.     if iscomplete(var):
  11.         L.append(var)
  12. print(L)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-19 11:38:57 | 显示全部楼层
1. print([x for x in range(1000) if iscomplete(x)]) 第一个 x 是变量名,第二个 x 表示定义 x 这个变量,第三个 x 表示将 x 传进 iscomplete() 函数,如果返回 True 则保留。
2. 不明白你问什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-19 11:54:10 | 显示全部楼层
zltzlt 发表于 2019-10-19 11:38
1. print([x for x in range(1000) if iscomplete(x)]) 第一个 x 是变量名,第二个 x 表示定义 x 这个变量 ...

请问这个x为什么不需要写成上文的 i 呢?第二个问题的意思是,我想用if i <=1000,如果是true,就加到完数的列表里,也就是用L.append(var)这个格式~不好意思,表达的不太清楚,谢谢你!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-19 11:56:00 | 显示全部楼层
最后一行的三个x,分别是什么意思? 这是列表推导式,看一下小甲鱼的教程
如果想用L.append(var)应该怎么用?
L = []
for x in range(1000):
    if iscomplete(x):
        L.append(x)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-19 11:59:21 | 显示全部楼层    本楼为最佳答案   
人加一 发表于 2019-10-19 11:54
请问这个x为什么不需要写成上文的 i 呢?第二个问题的意思是,我想用if i

1. 也可以改成 i
2.
  1. def iscomplete(i):
  2.     sum = 0
  3.     for n in range(1, i):
  4.         if i % n == 0:
  5.             sum = sum + n
  6.     if i == sum:
  7.         return i


  8. L = []
  9. for var in range(1000):
  10.     if iscomplete(var):
  11.         L.append(var)
  12. print(L)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 19:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表