在 Python 中对从 1 到 n 的整数求和

在 Python 中对从 1 到 n 的整数求和

Sum the integers from 1 to n in Python

乘以 n + 1 并除以2得到从 1 到 n 的整数,例如total = n * (n + 1) // 2结果将是从 1 到 n(包括 n)的整数之和。

主程序
n = 5 total = n * (n + 1) // 2 print(total) # 👉️ 15 # -------------------------------- total_2 = sum(range(1, n + 1)) print(total_2) # 👉️ 15 # 👇️ [1, 2, 3, 4, 5] print(list(range(1, n + 1)))

第一个示例乘以nn + 1除以得到从2的整数之和1n

整数除法/产生一个浮点数,而整数除法产生一个整数。 //

floor()使用 floor 除法运算符的结果是对结果应用函数的数学除法。

如果您不想使用公式,请使用range()类。

对 1 到 n 的整数求和:

  1. 通过1上课,n+1例如rangerange(1, n + 1)
  2. range对象传递给sum()函数。
  3. sum函数将对从 1 到 的整数求和n
主程序
n = 5 total_2 = sum(range(1, n + 1)) print(total_2) # 👉️ 15 # 👇️ [1, 2, 3, 4, 5] print(list(range(1, n + 1)))

我们使用range()该类对从 1 到 的数字求和n

range类通常用于在循环中循环特定次数,for并采用以下参数:

姓名 描述
start 表示范围开始的整数(默认为0
stop 向上,但不包括提供的整数
step 范围将由每 N 个数字组成,从startstop(默认为1
请注意,我们添加1stop值。参数是排他的,因此我们必须添加以包含在结果中。 stop1n

如果您只将单个参数传递给range()构造函数,则它被认为是stop参数的值。

主程序
n = 5 total_2 = sum(range(n + 1)) print(total_2) # 👉️ 15 # 👇️ [0, 1, 2, 3, 4, 5] print(list(range(n + 1)))
该示例表明,如果start省略参数,则默认为0,如果step省略参数,则默认为1.

由于startrange 的参数是0,您可以省略它并得到相同的结果。

如果提供了startstop参数的start值,则该值是包含性的,而该值是独占性的。 stop

如果stop参数的值低于参数的值start
,则范围将为空。

主程序
# 👇️ [] print(list(range(5, 1))) total = sum(range(5, 1)) print(total) # 👉️ 0

sum函数可用于计算范围内数字的总和。

sum函数接受一个可迭代对象,从左到右对其项目求和并返回总数。

sum函数采用以下 2 个参数:

姓名 描述
可迭代的 要求和其项目的可迭代对象
开始 start对可迭代对象的值和项目求和。sum默认为0(可选)

如果您需要获得带步长的范围,请为range()该类的第三个参数传递一个值。

主程序
start = 1 stop = 5 step = 2 total_2 = sum(range(start, stop + 1, step)) print(total_2) # 👉️ 9 (1 + 3 + 5) # 👇️ [1, 3, 5] print(list(range(start, stop + 1, step)))

提供参数时step,范围将由从start到的每 N 个数字组成stop

参数的值step默认为1

发表评论