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.流程图及代码实现:
程序流程图:
源代码:
``` 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() ```
- 设计中遇到的问题
在设计calc函数的过程中,如果直接使用max_score这样的全家变量会产生报错(错误类型为:UnboundLocalError),经过上网查阅的,只需要加上global max_score,min_score,avg_score,这行语句便可以解决该错误。
4. 课程设计成果
运行结果:
5. 课程设计心得
通过本次实验,我有一个惨痛的教训,就是不能等到把全部程序写完再调试,必须写一部分就调试一部分,如果把全部程序写完再调试会发生许多的错误,再以后的编程实践中,我们应该写一个函数或者是一个模块,然后进行调试,调试成功后再继续进行写程序。
参考文献
- 教师业绩考核系统的设计与实现(电子科技大学·文邦云)
- 基于SpringBoot的某综合训练平台成绩分析与预测系统设计与实现(浙江理工大学·赵智)
- 基于B/S结构的学生成绩管理系统的设计与实现(吉林大学·印明阳)
- 基于SSH的科研绩效管理系统设计与实现(西华大学·刘全飞)
- 基于JSP的在线考试系统(吉林大学·徐翊筌)
- 昆山市某高级中学成绩在线管理平台的设计与实现(电子科技大学·金云)
- 高职院校学生成绩管理系统的设计与实现(湖北工业大学·倪玲玲)
- 基于数据挖掘技术的高校辅助决策系统设计与实现(北京工业大学·郑碧嶷)
- 课程及成绩管理系统的设计与实现(厦门大学·赵超)
- 高职院校学生成绩管理系统的设计与实现(湖北工业大学·倪玲玲)
- 基于B/S结构的学生成绩管理系统的设计与实现(吉林大学·印明阳)
- 基于C4.5决策树的学生成绩预测教学系统的研究与实现(西南交通大学·胡金涛)
- 基于.net技术的学生成绩管理系统的开发实践(电子科技大学·王瑛)
- 基于SSH的科研绩效管理系统设计与实现(西华大学·刘全飞)
- 数据挖掘技术在高校学生成绩管理系统中的应用(大连交通大学·单联臣)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码客栈网 ,原文地址:https://m.bishedaima.com/yuanma/36101.html