怎么用python在一个现有的学生成绩分钟读书学号姓名成绩预

Python027

怎么用python在一个现有的学生成绩分钟读书学号姓名成绩预,第1张

1、首先用python在一个现有的学生成绩分钟读书学号姓名成绩预读取现有的班级花名册。

2、其次写入SQlite数据库,逐个显示每一个学生的学号姓名。

3、最后并将原有的数据和计算出的平均成绩存放在磁盘文件stud中。

下面是一个使用 Python 的字典和列表来实现学生成绩管理的简单例子。此例子实现了所有要求,但没有使用定义学生结构体类型和数组:

# 定义学生数据字典

students = []

# 定义输入函数

def input_student():

while True:

student = {}

student['id'] = input('学号: ')

student['class'] = input('班级: ')

student['name'] = input('姓名: ')

student['scores'] = []

for i in range(3):

score = input('第%d门课程成绩: ' % (i + 1))

student['scores'].append(score)

students.append(student)

if input('是否继续输入(y/n): ') != 'y':

break

# 定义求平均分函数

def average_score():

for student in students:

total = 0

for score in student['scores']:

total += score

student['average'] = total / len(student['scores'])

# 定义求最高平均分函数

def max_average():

max_student = None

max_average = 0

for student in students:

if student['average'] >max_average:

max_student = student

max_average = student['average']

return max_student

# 调用输入函数

input_student()

# 调用求平均分函数

average_score()

# 输出每个学生的3门课程平均分

for student in students:

print('学号: %s, 班级: %s, 姓名: %s, 平均分: %.2f' % (student['id'], student['class'], student['name'], student['average']))

# 调用求最高平均分函数

max_student = max_average()

# 输出最高平均分的学生信息

if max_student:

print('\n平均分最高的学生: 学号: %s, 班级: %s, 姓名: %s, 3门课程成绩: %s, 平均分: %.2f' % (max_student['id'], max_student['class'], max_student['name'], max_student['scores'], max_student['average']))

在上面的例子中,我们定义了一个学生数据字典,用于存储学生信息。然后定义了三个函数,分别用于输入学生信息、求每个学生3门课程的平均分和求平均分最高的学生。最后,在主函数中调用这三个函数,并输出结果。

global students

students={

"Zhangsan":(89,88,80),

"Bill":(90,90,86),

"Tom":(80,98,85),

"Jack":(79,90,89)}

def average(*shu):

(Tab缩进)AVE=sum(shu)/len(shu)

(Tab缩进)return AVE

def average_courses(name):

(Tab缩进)for k,v in students.items():

(Tab缩进)(Tab缩进)if k==name:

(Tab缩进)(Tab缩进)(Tab缩进)return [name, v, round(average(*v), 1)]

if __name__ == "__main__":

(Tab缩进)#print(average_courses("Tom"))

(Tab缩进)#print(average_courses("Tom")[2])

(Tab缩进)for k in students.keys():

(Tab缩进)(Tab缩进)print([k,average_courses(k)[2]])

'''python运行效果

['Zhangsan', 85.7]

['Bill', 88.7]

['Tom'