在 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)))
第一个示例乘以n
并n + 1
除以得到从到2
的整数之和。1
n
整数除法
/
产生一个浮点数,而整数除法产生一个整数。 //
floor()
使用 floor 除法运算符的结果是对结果应用函数的数学除法。
如果您不想使用公式,请使用range()
类。
对 1 到 n 的整数求和:
- 通过
1
并上课,n+1
例如。range
range(1, n + 1)
- 将
range
对象传递给sum()
函数。 - 该
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 个数字组成,从start 到stop (默认为1 ) |
请注意,我们添加
1
了stop
值。该参数是排他的,因此我们必须添加以包含在结果中。 stop
1
n
如果您只将单个参数传递给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
.由于start
range 的参数是0
,您可以省略它并得到相同的结果。
如果提供了
start
和stop
参数的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
。