**
Python第二周课内作业
**
一. 简答题(共3题,100分)
- (简答题) 输入10个学生的成绩,并完成以下统计计算:
(1) 求最小值
(2) 求最大值
(3) 求平均分
- (简答题)构造一个3*4的矩阵,实现该矩阵的转置
- (简答题)有一组商品价格列表,利用列表生成式生成一个打95折的价格列表。
- (简答题) 输入10个学生的成绩,并完成以下统计计算:
(1) 求最小值
(2) 求最大值
(3) 求平均分
# -*- coding:utf-8 -*-
# @Time : 2021-10-26 19:47
# @Author : 小青
# @File : e1.py
# @software: PyCharm
#创建一个列表记录下来数据
list =[]
sum = 0
print("请输入是个大学生的成绩: ")
for i in range(1, 11):
print(f"输入第{i}个学生的成绩")
while True:
try:
num = input()
#因为输入的是字符串,所以进行字符串的强制类型的转化,转化成为整型类型
num = int(num)
break
except:
print("请输入数字")
list.append(int(num)) #转化为整型,方便后面进行min函数的使用
sum += int(num)
numMi = min(list)
numMa = max(list)
aNum = (int)(sum / 10)
print(f"最大值是: {numMa}")
print(f"最小值是: {numMi}")
print(f"平均值是: {aNum}")
运行结果如下:
请输入是个大学生的成绩:
输入第1个学生的成绩
100
输入第2个学生的成绩
100
输入第3个学生的成绩
100
输入第4个学生的成绩
100
输入第5个学生的成绩
100
输入第6个学生的成绩
100
输入第7个学生的成绩
100
输入第8个学生的成绩
1000
输入第9个学生的成绩
10000
输入第10个学生的成绩
1000000
最大值是: 1000000
最小值是: 100
平均值是: 101170
Process finished with exit code 0
——————————————————————————————
- (简答题)构造一个3*4的矩阵,实现该矩阵的转置
代码一:
list1 = [
[1, 1, 2],
[2, 3, 5]
]
list2 = [] #创建一个进行存储的列表
# 上面创建的一个列表的行是2,列是3
# 只需要使用两个for循环就可以进行将这个矩阵的行数变成列数,列数变成行数
for i in range(0, 3): #表示转置之后的行
listTemp = [] #创建一个用于暂时进行存储每一列的列表
for j in range(0, 2): #j表示是list1的行
listTemp.append(list1[j][i]) #行列的位置进行转化
list2.append(listTemp)
print(list2)
运行结果:
[[1, 2], [1, 3], [2, 5]]
代码二:
#第二种方式是使用numpy里面的方法进行直接矩阵的转置
import numpy as np
list1 = [
[1, 1, 2],
[2, 3, 5]
]
print(np.transpose(list1))
运行结果:
[[1 2]
[1 3]
[2 5]]
——————————————————————————————
- (简答题)有一组商品价格列表,利用列表生成式生成一个打95折的价格列表。
代码如下:
price = [12, 31, 12, 21, 46]
priceChange = [0.95 * i for i in range(0, 3)]
#上面使用了一行解决了问题,比较方便
print(priceChange)
运行结果如下:
[0.0, 0.95, 1.9]