基于Python实现(控制台)成绩统计系统【100010692】

1. 课程设计目的

《软件设计基础-Python》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖Python的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握Python这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。

2. 课程设计任务与要求

本次课程设计利用《软件设计基础-Python》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。

要求:

  • 对系统进行功能需求分析
  • 设计合理的数据结构和系统框架
  • 界面设计美观、清楚、合理
  • 编程简练,程序功能齐全,能正确运行
  • 具有一定的创新性
  • 说明书、流程图要清楚
  • 课题完成后必须按要求提交课程设计报告

任务:

设计一个成绩统计系统,要求能录入成绩,并对成绩进行分段人数统计(90-100、80-89、70-79、60-69、0-59共五个段),计算每个段人数的百分比,输出所有成绩中的最高分、最低分和平均分。

3. 课程设计说明书

1.主要数据和主要函数介绍:

score分数列表:存储了每个学生的成绩。Max_score 用来存储学生中成绩最高的分数,min_score用来存储学生中成绩最低的分数,avg_score用来存储所有学生的平均分。

函数input_student 提示用户输入所有学生的信息。

函数show 展示所有学生的信息

函数 Clac 统计每个分数段的学生的人数占所有人数的百分比。

2.流程图及代码实现:

程序流程图:

基于Python实现(控制台)成绩统计系统【100010692】_第1张图片

源代码:

score = list()
max_score = 0
min_score = 100
avg_score = 0
n = None

def input_student():
    global score,n
    print("------------------")
    n = int(input("请输入学生的数量:"))
    for i in range(n):
        t = eval(input("请输入第%d个学生的成绩:"%(i+1)))
        score.append(t)

def show():
    print("------------------")
    for i,s in enumerate(score):
        print("第%d个学生的成绩是:%s"%(i+1,s))

def calc():
    global max_score,min_score,avg_score
    a = {"100-90":0,"89-80":0,"79-70":0,"69-60":0,"59-0":0}
    for i in score:
        if(i > max_score):
            max_score = i
        if(i < min_score):
            min_score = i
        avg_score += i

        if(i <= 100 and i >= 90):
            a["100-90"]  += 1
        if(i <= 89 and i >= 80):
            a["89-80"]  += 1
        if(i <= 79 and i >= 70):
            a["79-70"]  += 1
        if(i <= 69 and i >= 60):
            a["69-60"]  += 1
        if(i <= 59 and i >= 0):
            a["59-0"]  += 1

    print("------------------")
    print("统计结果为:")
    for item in a.items():
        print("分数段为:",item[0],"人的个数的百分比为:%.2f%%"%(item[1]/n * 100))
    print("------------------")
    print("最高分为:",max_score)
    print("最低分为:",min_score)
    print("平均分为:",avg_score/n)

def main():
    """
    功能:主函数-控制所有功能
    """
    input_student()
    show()
    calc()

if __name__ == "__main__":
    main()
  1. 设计中遇到的问题

在设计calc函数的过程中,如果直接使用max_score这样的全家变量会产生报错(错误类型为:UnboundLocalError),经过上网查阅的,只需要加上global max_score,min_score,avg_score,这行语句便可以解决该错误。

4. 课程设计成果

运行结果:

基于Python实现(控制台)成绩统计系统【100010692】_第2张图片

♻️ 资源

基于Python实现(控制台)成绩统计系统【100010692】_第3张图片

大小: 67.2KB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87425391
如当前文章或代码侵犯了您的权益,请私信作者删除!

你可能感兴趣的:(课程设计,python,开发语言,控制台)