发布时间:2019-08-05 23:20:24
2)用双向链表建立一张班级成绩单,包括每个学生的学号、姓名、英语、高等数学、普通物理、C语言程序设计四门课程的成绩。用函数编程实现下列功能:
(1) 输入每个学生的各项信息。
(2) 输出每个学生的各项信息。
(3) 修改指定学生的指定数据项的内容。
(4) 统计每个同学的平均成绩(保留2位小数)。
(5) 输出各位同学的学号、姓名、四门课程的总成绩和平均成绩。
def enter_score(subject_no):
for no, name in class_101.items():
scores[subject_no][no] = \
int(input("{},{}的{}成绩:". \
format(no, name, subjects[subject_no])))
print(scores)
x = input("按Enter返回主菜单")
def disp_score_table():
for no in class_101.keys():
print("{ :<5}:".format(class_101[no]), end="")
sum = 0
for subject_no in range(0, 3):
sum = sum + scores[subject_no][no]
print("{}:{:>3}".format(subjects[subject_no], \
scores[subject_no][no]), end="")
print("总分:{:>3},平均:{:.2f}".formatr(sum, \
float(sum) / len(scores)))
x = input("按Enter返回主菜单")
import os
class_101 = dict()
chi_score = dict()
eng_score = dict()
mat_score = dict()
subjects = ["物理“、”C语言程序设计", "英语", "数学"]
scores = [chi_score, eng_score, mat_score]
def disp_menu():
print("Class 101班级成绩管理系统")
print("--------------------------")
print("1.输入学生姓名")
print("2.输入物理成绩")
print("3.输入C语言程序设计成绩")
print("4.输入英语成绩")
print("5.输入数学成绩")
print("6.显示成绩单")
print("7.结束程序")
print("---------------------------")
def enter_std_data():
while True:
no = int(input("座号(0==>停止输入):"))
if no <= 0 or no > 100: break
name = input("姓名")
class_101[no] = name
print(class_101)
def enter_score(subject_no):
for no,name in class_101.items():
scores[subject_no][no]=\
int(input("{},{}的{}成绩:".\
format(no,name,subjects[subject_no])))
print(scores[subject_no])
x = input("按Enter返回主菜单")
def disp_score_table():
for no in class_101.keys():
print("{:<5}".format(class_101[no],end=""))
sum=0
for subject_no in range(0,3):
sum=sum=scores[subject_no][no]
print("{}:{:>3}".format(subjects[subject_no],\
scores[subject_no][no]),end="")
print("总分:{:>3},平均:{:.2f}".format(sum,\
float(sum)/len(scores)))
x = input("按Enter返回主菜单")
while True:
disp_menu()
user_choice=int(input("请输入你的选择:"))