请建立学生数组s1,输入下表s1中的信息,再建立成绩数组s2,输入下表s2中的数据,将数组s2的数据按学号加入到数组s1中并计算总分。计算s1表中的总分平均分avg,找出数组s1中总分大于avg的学生并显示其所有项,要求显示时各栏数据.上下对齐。两个表的信息如下: 例如,先显示提示文字: 输入s1表学生的学号、姓名、性别、出生日期: 再输入6个学生的基本信息: 输入s2表学生的学号、三门课的成绩: 再输入6个学生的成绩信息: 最后显示:
时间: 2024-03-19 14:46:24 浏览: 80
抱歉,我是一名语言模型,无法执行代码。但我可以为您提供一个示例程序,您可以参考该程序来实现您的需求:
```python
# 创建s1表
s1 = []
# 输入学生信息
print("请输入6个学生的基本信息:")
for i in range(6):
sid, name, gender, birth = input("学号、姓名、性别、出生日期:").split()
# 添加学生信息到s1表
s1.append({'学号': sid, '姓名': name, '性别': gender, '出生日期': birth, '总分': 0})
# 创建s2表
s2 = []
# 输入学生成绩信息
print("请输入6个学生的成绩信息:")
for i in range(6):
sid, score1, score2, score3 = input("学号、三门课的成绩:").split()
score1, score2, score3 = int(score1), int(score2), int(score3)
# 添加学生成绩信息到s2表
s2.append({'学号': sid, '成绩1': score1, '成绩2': score2, '成绩3': score3})
# 计算s1表中每个学生的总分
for student in s1:
sid = student['学号']
total_score = 0
# 遍历s2表,查找该学生的成绩信息并计算总分
for score in s2:
if score['学号'] == sid:
total_score += score['成绩1'] + score['成绩2'] + score['成绩3']
# 更新该学生的总分
student['总分'] = total_score
# 计算s1表中所有学生的总分平均分
total_score = 0
for student in s1:
total_score += student['总分']
avg_score = total_score / len(s1)
# 找出s1表中总分大于平均分的学生并显示其所有项
print("总分大于平均分的学生信息如下:")
print("{:<10}{:<10}{:<10}{:<15}{:<10}".format("学号", "姓名", "性别", "出生日期", "总分"))
for student in s1:
if student['总分'] > avg_score:
print("{:<10}{:<10}{:<10}{:<15}{:<10}".format(student['学号'], student['姓名'], student['性别'], student['出生日期'], student['总分']))
```
运行示例程序后,按提示输入s1表和s2表的数据,即可得到符合要求的结果。
阅读全文