python-3.x - 尝试使用 python 在列表中添加数字时,Sum 函数不起作用
问题描述
我正在尝试创建一个仅从 1 到 100 的数字范围内取偶数并添加所有偶数的程序。我是一个初学者,从昨天开始我一直在努力让它工作,但我没有尝试过任何工作。这是我的第一篇文章,如果格式错误,很抱歉,但这是我的代码。
for i in range(1, 100):
if i % 2 == 0:
x = [I]
y = sum(x)
print(y)
解决方案
您的代码存在多个问题 - 1)如果您想获得从 1 到 100 的所有偶数,您的范围应该是 (1, 101);2)你建立列表的方式是错误的(语法);3)总和期望一个可迭代的(列表)。
有几种方法可以完成从 1 到 100(含)的这个总和,这里将从你的开始,并尝试展示List Comprenshion和Generator 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
推荐阅读
- jetbrains-ide - 是否可以禁用库中的导航?
- acumatica - 如何在网格中添加一列以显示 Acumatica 中另一个屏幕的值?
- node.js - 为什么 nodemon 在终端中抛出一些错误?
- ruby-on-rails - 将 AWS Red Shift 与 Rails 项目连接起来
- ios - 所选文本的范围与实际 html 属性字符串的范围不同
- python - 如何编写一个约束,使 1 个任务仅由 1 个工人完成 | 谷歌或工具| 调度问题
- arrays - 我的二维数组创建和打印的 C 代码不返回任何值
- mysql - Elasticseach 查询时区
- postgresql - Databricks 错误:org.postgresql.util.PSQLException:不支持身份验证类型 10
- javascript - 如何在typeorm中加入树结构中的每个子实体