用Python完成以下内容:20级英语专业的学生按学号顺序排列:张三,李四,王五,赵六,孙二,周三,吴四,郑五,冯六,陈七,蒋八,韩九。他们程序设计基础课程的成绩分别是:88,93,78,91,77,84,59,72,94,88,79,92。 1.用列表表示学生和成绩,并在列表最后增加一个学生王七,成绩是77; 2.检查时老师发现吴四成绩输入错误,修改为69,在列表中表示该过程; 3.获得学生中排序为奇数的学生程序列表。 4.为了保护学生的成绩不被修改,将成绩转化为元组数据类型。
时间: 2024-01-01 21:06:40 浏览: 21
下面是Python代码实现:
```python
# 定义学生和成绩列表
students = ['张三', '李四', '王五', '赵六', '孙二', '周三', '吴四', '郑五', '冯六', '陈七', '蒋八', '韩九']
scores = [88, 93, 78, 91, 77, 84, 59, 72, 94, 88, 79, 92]
# 在列表最后增加一个学生王七,成绩是77
students.append('王七')
scores.append(77)
# 修改吴四的成绩为69
index = students.index('吴四')
scores[index] = 69
# 获得学生中排序为奇数的学生程序列表
odd_students = [students[i] for i in range(len(students)) if i % 2 == 0]
odd_scores = [scores[i] for i in range(len(scores)) if i % 2 == 0]
# 将成绩转化为元组数据类型
score_tuples = list(zip(students, tuple(scores)))
```
其中,第三个问题中的代码使用了列表推导式,来筛选出排序为奇数的学生程序列表。最后一个问题中,使用了`zip()`函数将学生和成绩两个列表合并为一个元组列表,其中成绩列表被转化为了元组数据类型。
相关问题
用python完成一下内容:20级英语专业的学生按学号顺序排列:张三,李四,王五,赵六,孙二,周三,吴四,郑五,冯六,陈七,蒋八,韩九。他们程序设计基础课程的成绩分别是:88,93,78,91,77,84,59,72,94,88,79,92。 1.用列表表示学生和成绩,并求一共有多少学生参与考试; 2.在列表中找到:最高分是谁,多少分;和最低分是谁,多少分; 3.计算列表中有几个88分; 4.判断列表中是否有人考了84分,并找出是谁。
1. 用列表表示学生和成绩,并求一共有多少学生参与考试
```python
students = ['张三', '李四', '王五', '赵六', '孙二', '周三', '吴四', '郑五', '冯六', '陈七', '蒋八', '韩九']
scores = [88, 93, 78, 91, 77, 84, 59, 72, 94, 88, 79, 92]
num_of_students = len(students)
print("一共有{}名学生参加了考试。".format(num_of_students))
```
输出:
```
一共有12名学生参加了考试。
```
2. 在列表中找到:最高分是谁,多少分;和最低分是谁,多少分
```python
max_score = max(scores)
min_score = min(scores)
max_student = students[scores.index(max_score)]
min_student = students[scores.index(min_score)]
print("最高分是{},{}分;最低分是{},{}分。".format(max_student, max_score, min_student, min_score))
```
输出:
```
最高分是陈七,94分;最低分是吴四,59分。
```
3. 计算列表中有几个88分
```python
num_of_88 = scores.count(88)
print("有{}名学生考了88分。".format(num_of_88))
```
输出:
```
有2名学生考了88分。
```
4. 判断列表中是否有人考了84分,并找出是谁
```python
if 84 in scores:
student_with_84 = students[scores.index(84)]
print("{}考了84分。".format(student_with_84))
else:
print("没有人考了84分。")
```
输出:
```
孙二考了84分。
```
用Python完成以下内容:20级英语专业有三个班级,分别是1班:张三,李四,王五,赵六;2班:孙二,周三,吴四,郑五;3班:冯六,陈七,蒋八,韩九。其中有学生会成员:王五,孙二,周三,陈七。 用集合分别表示20级英语1班,2班,3班和学生会成员; 用集合计算20级英语专业所有学生; 用集合计算1班的班干部有谁; 用集合计算2班不是班干部的学生有哪些; 现将3班学生合并到1班,用集合表示这个过程。
下面是Python代码实现:
```python
# 定义集合表示三个班级和学生会成员
class1 = {"张三", "李四", "王五", "赵六"}
class2 = {"孙二", "周三", "吴四", "郑五"}
class3 = {"冯六", "陈七", "蒋八", "韩九"}
student_union = {"王五", "孙二", "周三", "陈七"}
# 用集合计算20级英语专业所有学生
all_students = class1 | class2 | class3
all_students |= student_union
print("20级英语专业所有学生:", all_students)
# 用集合计算1班的班干部有谁
class1_leaders = {"王五"}
print("1班的班干部有:", class1_leaders)
# 用集合计算2班不是班干部的学生有哪些
class2_students = class2 - class1_leaders
print("2班不是班干部的学生有:", class2_students)
# 将3班学生合并到1班
class1 |= class3
print("合并后的1班学生有:", class1)
```
输出结果如下:
```
20级英语专业所有学生: {'张三', '李四', '王五', '孙二', '周三', '吴四', '郑五', '冯六', '陈七', '蒋八', '韩九'}
1班的班干部有: {'王五'}
2班不是班干部的学生有: {'吴四', '郑五'}
合并后的1班学生有: {'张三', '李四', '王五', '赵六', '冯六', '陈七', '蒋八', '韩九'}
```