Python计算等差数列前n项和,面向对象面相函数面相过程
时间: 2024-10-25 11:09:59 浏览: 20
在Python中,计算等差数列的前n项和,可以从面向对象、函数式以及过程式三种角度来实现。
**面向对象(Object-Oriented)**:
```python
class ArithmeticSeries:
def __init__(self, first_term, common_difference, n):
self.first = first_term
self.diff = common_difference
self.n = n
def sum_of_n_terms(self):
return (self.first + (self.first + self.diff * (self.n - 1))) * self.n / 2
# 使用示例
series = ArithmeticSeries(1, 2, 5)
print(series.sum_of_n_terms())
```
在这个例子中,我们创建了一个`ArithmeticSeries`类,包含初始化方法和计算等差和的方法。
**函数式(Functional)**:
```python
def sum_arithmetic_series(first, difference, n):
return n * (first + (n - 1) * difference) // 2
# 使用示例
result = sum_arithmetic_series(1, 2, 5)
print(result)
```
这里直接定义了一个接受首项、公差和项数作为输入的函数。
**过程式(Procedural)**:
```python
def calculate_sum(n, a=1, d=1): # a表示首项,默认值为1,d表示公差,默认值为1
total = n * (a + (n - 1) * d) // 2
return total
# 使用示例
sum_result = calculate_sum(5)
print(sum_result)
```
这种方法利用了默认参数,可以更简洁地编写求和函数。
阅读全文