Python用循环语句计算数列的平均值
时间: 2023-05-18 08:05:22 浏览: 130
假设我们要计算数列 [1, 2, 3, 4, 5] 的平均值,可以使用 Python 的循环语句来实现:
```python
numbers = [1, 2, 3, 4, 5] # 数列
total = 0 # 总和
count = 0 # 数量
# 循环遍历数列,累加总和和数量
for number in numbers:
total += number
count += 1
# 计算平均值
average = total / count
print("平均值为:", average)
```
输出结果为:
```
平均值为: 3.0
```
这里使用了一个 for 循环来遍历数列中的每一个元素,累加总和和数量。最后通过总和除以数量来计算平均值。
相关问题
Python用循环语句计算数列的方差
以下是Python代码实现:
```python
# 定义数列
nums = [1, 2, 3, 4, 5]
# 计算平均值
mean = sum(nums) / len(nums)
# 计算方差
variance = 0
for num in nums:
variance += (num - mean) ** 2
variance /= len(nums)
print(variance)
```
输出结果为:2.5
解释:数列的平均值为3,方差计算公式为每个数与平均值的差的平方和的平均值,即(1-3)^2 + (2-3)^2 + (3-3)^2 + (4-3)^2 + (5-3)^2 / 5 = 2.5。
1.用循环语句形成fibonacci数列(30位) 2.利用函数+if定义分段函数: 并利用循环结构输出在-3到6,步长为0.5的序列上各点对应的函数值。 3.实现对Excel文件的读写 a)读取默认数据,并删除大于100的数据(自行创建测试数据) b)读取特定工作表的数据 c)读取特定区域的数据 d)保存数据到.xlsx文件 4.分别用if和switch语句实现,将百分制成绩转换为成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。对超出百分制范围的成绩,给出错误提示信息。 5.编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值。 6.编写一个函数,给出一个向量,生成如下范德蒙矩阵。
1. 用循环语句形成fibonacci数列(30位)
```python
a, b = 0, 1
for i in range(30):
print(a, end=" ")
a, b = b, a + b
```
2. 利用函数+if定义分段函数,并利用循环结构输出在-3到6,步长为0.5的序列上各点对应的函数值。
```python
import math
def f(x):
if x < -2:
return -1
elif x < 0:
return x + 1
elif x < 2:
return math.sqrt(4 - x ** 2)
else:
return 2
for x in range(-6, 12, 1):
x /= 2
print("f({:.1f}) = {:.4f}".format(x, f(x)))
```
3. 实现对Excel文件的读写
```python
import openpyxl
# a) 读取默认数据,并删除大于100的数据(自行创建测试数据)
wb = openpyxl.load_workbook("test.xlsx")
sheet = wb.active
for row in sheet.rows:
for cell in row:
if cell.value and type(cell.value) == float and cell.value > 100:
cell.value = None
# b) 读取特定工作表的数据
sheet = wb["Sheet2"]
for row in sheet.rows:
for cell in row:
print(cell.value, end="\t")
print()
# c) 读取特定区域的数据
sheet = wb.active
for row in sheet["B2:D4"]:
for cell in row:
print(cell.value, end="\t")
print()
# d) 保存数据到.xlsx文件
wb.save("test_updated.xlsx")
```
4. 分别用if和switch语句实现,将百分制成绩转换为成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。对超出百分制范围的成绩,给出错误提示信息。
```python
score = 75
# if语句实现
if score < 0 or score > 100:
print("成绩输入错误")
elif score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
elif score >= 60:
print("D")
else:
print("E")
# switch语句实现(Python没有原生switch语句,使用字典模拟)
grade = {
10: "A",
9: "A",
8: "B",
7: "C",
6: "D",
5: "E",
4: "E",
3: "E",
2: "E",
1: "E",
0: "E"
}
if score < 0 or score > 100:
print("成绩输入错误")
else:
level = grade[int(score // 10)]
print(level)
```
5. 编写一个函数求向量x中元素的平均值、最大值、最小值、均方根值。
```python
import math
def vector_stats(x):
n = len(x)
mean = sum(x) / n
max_val = max(x)
min_val = min(x)
rms = math.sqrt(sum([i ** 2 for i in x]) / n)
return mean, max_val, min_val, rms
x = [1, 2, 3, 4, 5]
print(vector_stats(x))
```
6. 编写一个函数,给出一个向量,生成如下范德蒙矩阵。
```python
def vandermonde(x):
n = len(x)
vdm = []
for i in range(n):
row = []
for j in range(n):
row.append(x[i] ** j)
vdm.append(row)
return vdm
x = [1, 2, 3, 4, 5]
vdm = vandermonde(x)
for row in vdm:
print(row)
```
阅读全文