假设有一张成绩表记录了10名学生的语文数学英语生物历史这五门课的成绩,成绩范围均为50~100。10名学生的学号分别为100、101、102、103、104、105、106、107、108、109。利用numpy完成下列操作:(1)使用随机数模拟学生成绩,并储存在数组中;(2)查询学号为105的学生的英语成绩;(3)查询学号为100、102、105、109的4位学生的语文数学和英语成绩
时间: 2023-07-10 18:10:53 浏览: 142
利用学号查学生的数学成绩表.asm
好的,我可以帮你解决这个问题。
首先,我们需要导入numpy库:
```python
import numpy as np
```
然后,我们可以使用`numpy.random.randint()`函数生成10名学生的成绩,并将其存储在一个10x5的数组中:
```python
grades = np.random.randint(50, 101, size=(10, 5))
```
这里使用`numpy.random.randint()`函数生成50~100之间的整数随机数,生成的随机数以10x5的数组形式存储在`grades`变量中。
接下来,我们可以使用下标索引查询学号为105的学生的英语成绩:
```python
english_grade = grades[5, 2]
print("学号为105的学生的英语成绩为:", english_grade)
```
这里我们使用`grades[5, 2]`来获取第6行第3列的元素,即学号为105的学生的英语成绩。
最后,我们可以使用下标索引同时查询学号为100、102、105、109的4位学生的语文数学和英语成绩:
```python
selected_grades = grades[[0, 2, 5, 9]][:, :3]
print("学号为100、102、105、109的学生的语文数学和英语成绩为:\n", selected_grades)
```
这里我们使用`grades[[0, 2, 5, 9]][:, :3]`来获取第1、3、6、10行的前3列元素,即学号为100、102、105、109的学生的语文数学和英语成绩。
完整代码如下:
```python
import numpy as np
grades = np.random.randint(50, 101, size=(10, 5))
english_grade = grades[5, 2]
selected_grades = grades[[0, 2, 5, 9]][:, :3]
print("学号为105的学生的英语成绩为:", english_grade)
print("学号为100、102、105、109的学生的语文数学和英语成绩为:\n", selected_grades)
```
阅读全文