> # ♻️ 资源
> **大小:** 87.0KB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100010845**](https://www.yuque.com/sxbn/ks/100010845)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/87453216**](https://download.csdn.net/download/s1t16/87453216)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# 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.流程图及代码实现:
程序流程图:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1716338098735-6fe67a20-1297-4e0a-bcde-d7bb58c55339.png#averageHue=%23f1f1f1&from=url&id=hzEQJ&originHeight=695&originWidth=738&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
源代码:
```
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. 课程设计成果
运行结果:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1716338098810-ced8b695-0872-4e00-bb59-827adfe3871b.png#averageHue=%23fefefe&from=url&id=eFsJs&originHeight=691&originWidth=459&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
注意事项:学生成绩的满分是100.如果输入100分以上的成绩则程序会发生问题。
# 5. 课程设计心得
在这课设中,虽然上课学习Python关键字的时候觉得很简单,但是当我真正的进行课设的时候我却犯了关键字和自定义函数名称重复的问题。我深深的明白了学习程序不能仅仅通过脑子去学习更应该动手来实践。在以后的学习的过程中,我将更加努力的进行动手实践,而不是仅仅停留在听课上。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
详情介绍:https://www.yuque.com/sxbn/ks/100010845 本项目设计一个成绩统计系统,能录入成绩,并对成绩进行分段人数统计(90-100、80-89、70-79、60-69、0-59共五个段),计算每个段人数的百分比,输出所有成绩中的最高分、最低分和平均分。
资源推荐
资源详情
资源评论
收起资源包目录
100010845-基于Python实现学生成绩管理系统.zip (4个子文件)
management
学生成绩统计.docx 84KB
main.py 2KB
LICENSE 1KB
README.md 6KB
共 4 条
- 1
神仙别闹
- 粉丝: 3127
- 资源: 7432
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页