【问题标题】:Python, how I can find sum of this elements?Python,我怎样才能找到这些元素的总和?
【发布时间】:2021-11-29 07:49:31
【问题描述】:

求下一行数字的 n 个元素之和:
1, -0.5, 0.25, -0.125 ...
从键盘输入元素的数量 (n)。

【问题讨论】:

  • 到目前为止你有什么尝试?

标签: python sum


【解决方案1】:

您正在寻找这样的东西吗?

l = []
for i in range(int(input())):
    if i%2 ==0:
        l.append(1/2**i)
    else:
        l.append(-(1/2**i))
print(sum(l))

【讨论】:

  • 创建一个列表只是为了获取其元素的总和有什么意义?
  • 我想你不明白,创建一个列表有什么意义?只需将变量保存为 0 并在每次迭代时添加。
【解决方案2】:

这将起作用:

row = "1, -0.5, 0.25, -0.125, 0.5, -0.14, 0.2, -0.34"
n = int(input())
nth_sum = sum(map(float, row.split(",")[:n]))

【讨论】:

    【解决方案3】:

    分辨率:

    您应该使用几何级数求和公式,这是迄今为止最有效的方法:

    n = int(input('number: '))
    result = -2 * (1 - (-1/2) ** n) / (1 + 1/2) + 2
    

    解释:

    几何级数之和由以下公式定义:

    地点:

    • Sn = n 项的总和
    • n = 词条数
    • a1 = 第一个学期
    • r = 常用比例

    提供的系列可以被认为是r = -1/2a1 = -2 跳过第一个术语的交替系列。分子简化为-2 * (1 - (-1/2) ** n),分母简化为(1 + 1/2),由于我们不希望最后的第一项,我们通过在末尾添加2来取消它+ 2

    【讨论】:

      【解决方案4】:
      sum([float(i) for i in input().split(', ')])
      

      假设用户输入了一个以逗号分隔(带有尾随空格)的数字列表,这些数字可以被解析为有效的浮点数。

      【讨论】:

      • 该行是连续的,这意味着我应该输入一个像 7 这样的数字,它会给我该行前 7 个数字的总和(1, -0.5, 0.25, -0.125, 0.0625, ....)
      猜你喜欢
      • 1970-01-01
      • 2023-02-13
      • 1970-01-01
      • 2017-09-23
      • 2018-11-29
      • 2022-10-04
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      相关资源
      最近更新 更多