1. 课程设计目的
《软件设计基础-Python》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖Python的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握Python这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。
2. 课程设计任务与要求
本次课程设计利用《软件设计基础-Python》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。
要求:
- 对系统进行功能需求分析
- 设计合理的数据结构和系统框架
- 界面设计美观、清楚、合理
- 编程简练,程序功能齐全,能正确运行
- 具有一定的创新性
- 说明书、流程图要清楚
- 课题完成后必须按要求提交课程设计报告
任务:
设计一个成绩统计系统,要求能录入成绩,并对成绩进行分段人数统计(90-100、80-89、70-79、60-69、0-59共五个段),计算每个段人数的百分比,输出所有成绩中的最高分、最低分和平均分。
3. 课程设计说明书
1.主要数据和主要函数介绍:
主要数据:score 一个列表,包含每个学生的成绩。mmax学生中成绩的最高分,mmin学生中成绩的最低分,mavg学生成绩的平均分。
主要函数:input_ 用户进行录入学生的信息,display 根据score参数,展示学生的信息。Tongji 进行学生成绩的统计,计算所有学生中的最高分,最低分,平均分。并完成计算每个段人数的百分比。
2.流程图及代码实现:
程序流程图:
源代码:
``` def input_(): n = int(input("请输入你要输入的学生的人数:")) total_score = list() for i in range(n): score = int(input("请输入第%d个学生的成绩:"%(i+1))) total_score.append(score) return total_score
def display(score):
print(score)
for i in range(len(score)):
print("第{}个学生的成绩是:{}".format(i+1,score[i]))
def tongji(score): score_deng = [0 for i in range(5)] mmax = 0 mmin = 100 mavg = 0 n = len(score) # 进行成绩统计 for i in range(n): if(mmax < score[i]): mmax = score[i] if(mmin > score[i]): mmin = score[i] mavg += score[i] if(score[i] >= 90): score_deng[0]+=1 elif(score[i] >= 80): score_deng[1]+=1 elif(score[i] >= 70): score_deng[2]+=1 elif(score[i] >= 60): score_deng[3]+=1 else: score_deng[4]+=1 for i in range(n): score[i] /= len(score) print("学生的最高分是:",mmax) print("学生的最低分是:",mmin) print("学生的平均分是:",mavg) print("------------------") print("成绩在90-100之间的学生百分比为:",score_deng[0]/n 100,"%") print("成绩在80-89之间的学生百分比为:",score_deng[1]/n 100,"%") print("成绩在70-79之间的学生百分比为:",score_deng[2]/n 100,"%") print("成绩在60-69之间的学生百分比为:",score_deng[3]/n 100,"%") print("成绩在0-59之间的学生百分比为:",score_deng[4]/n *100 ,"%")
while(True): print("----My 学生成绩管理系统----") print("菜单如下:") print("1. 输入学生信息") print("2. 展示学生信息") print("3. 统计学生信息") print("4. 退出") cho = eval(input("请输入你的选择")) if(cho == 1): score = input_() elif(cho == 2): display(score) elif(cho == 3): tongji(score) else: print("系统成功退出!") break ```
1.设计中遇到的问题
在这次设计中,我犯了一个非常低级的错误,我定义了一个名为input的函数,导致我在提示用户在菜单进行时,遇到了这个错误TypeError: input() takes 0 positional arguments but 1 was given,我看了许久都没有发现cho = eval(input("请输入你的选择"))这行代码有什么问题,但是当我浏览整体代码时,我发现了我自己也定义了一个名为input的函数,我将这个函数重新改名为input_最终成功解决了该问题。
4. 课程设计成果
运行结果:
注意事项:学生成绩的满分是100.如果输入100分以上的成绩则程序会发生问题。
5. 课程设计心得
在这课设中,虽然上课学习Python关键字的时候觉得很简单,但是当我真正的进行课设的时候我却犯了关键字和自定义函数名称重复的问题。我深深的明白了学习程序不能仅仅通过脑子去学习更应该动手来实践。在以后的学习的过程中,我将更加努力的进行动手实践,而不是仅仅停留在听课上。
参考文献
- 基于J2EE的高校学生基本信息分布式系统的设计(中国海洋大学·冯川)
- 基于J2EE架构的初高中教学管理信息系统的设计与实现(北京邮电大学·李晓峰)
- 学生成绩管理系统的设计与实现(电子科技大学·王章恩)
- 基于SSH技术的中学学生成绩信息管理系统的设计与实现(电子科技大学·徐国华)
- 基于J2EE架构的初高中教学管理信息系统的设计与实现(北京邮电大学·李晓峰)
- 基于J2EE和MVC模式的高校教务管理系统的研究与开发(西南交通大学·王新义)
- 基于Web架构的文华学院学生成绩管理系统的设计与实现(电子科技大学·陈佳)
- 数据挖掘技术在高校学生成绩管理系统中的应用(大连交通大学·单联臣)
- 昆山市某高级中学成绩在线管理平台的设计与实现(电子科技大学·金云)
- 基于J2EE的永康市职业技术学校成绩管理系统设计与实现(电子科技大学·楼伟忠)
- 学生成绩管理系统的设计与实现(吉林大学·孙庆彬)
- 大学生平时成绩量化管理系统的研究与实现(华中师范大学·余晓璐)
- 基于B/S结构的学生成绩管理系统的设计与实现(吉林大学·印明阳)
- 课程及成绩管理系统的设计与实现(厦门大学·赵超)
- 大学生平时成绩量化管理系统的研究与实现(华中师范大学·余晓璐)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码助手 ,原文地址:https://bishedaima.com/yuanma/36102.html