首页 > 解决方案 > 尝试使用 python 在列表中添加数字时,Sum 函数不起作用

问题描述

我正在尝试创建一个仅从 1 到 100 的数字范围内取偶数并添加所有偶数的程序。我是一个初学者,从昨天开始我一直在努力让它工作,但我没有尝试过任何工作。这是我的第一篇文章,如果格式错误,很抱歉,但这是我的代码。

for i in range(1, 100):
   if i % 2 == 0:
      x = [I]
      y = sum(x)
      print(y)

标签: python-3.x

解决方案


您的代码存在多个问题 - 1)如果您想获得从 1 到 100 的所有偶数,您的范围应该是 (1, 101);2)你建立列表的方式是错误的(语法);3)总和期望一个可迭代的(列表)。

有几种方法可以完成从 1 到 100(含)的这个总和,这里将从你的开始,并尝试展示List ComprenshionGenerator Expression的方式:

lst = []   # to store the build-up list
tot = 0    # to store the answer
for i in range(1, 101):
    if i % 2 == 0:        # it's a even number
       lst.append(i)      # store it into lst 

tot = sum(lst)            # 2550

生成器表达式:

all_evens_sum = sum(x for x in range(1, 101) if x % 2 == 0)  # 2550

或列表理解:

lst = [x for x in range(1, 101) if x % 2 == 0]   # even nums 
total = sum(lst)                # 2550

推荐阅读