火锅锅 发表于 2021-1-14 21:42:01

魔方方法

想请问 sum(i for i in range(100) if i%2) 这句程序是什么意思,它是那一不到那一步if %2 先执行吗? 不是很懂什么意思

昨非 发表于 2021-1-14 21:49:43

本帖最后由 昨非 于 2021-1-14 21:57 编辑

分解来看:
sum(i for i in range(100) if i%2)

首先:sum(i) 对i求和

其次:对i得值进行限定:for i in range(100),->i取值0到99

最后,i还要满足 if i %2 :
   这个条件等价于: if i%2!=0->对2取余不为0,说明是奇数

综上;也就是对0到99的奇数求和

这两段代码等价:

print(sum(i for i in range(100) if i%2))
sum1=0
for i in range(100):
    if i%2!=0:
      sum1+=i
print(sum1)

火锅锅 发表于 2021-1-14 21:59:30

昨非 发表于 2021-1-14 21:49
分解来看:
sum(i for i in range(100) if i%2)



谢谢

昨非 发表于 2021-1-14 22:00:19

火锅锅 发表于 2021-1-14 21:59
谢谢

记得设置最佳答案
答案帖子的上方,绿色小按钮

普先森 发表于 2021-1-14 22:45:22

大佬
页: [1]
查看完整版本: 魔方方法