> # ♻️ 资源
> **大小:** 67.2KB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100010692**](https://www.yuque.com/sxbn/ks/100010692)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/87425391**](https://download.csdn.net/download/s1t16/87425391)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![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分数列表:存储了每个学生的成绩。Max_score 用来存储学生中成绩最高的分数,min_score用来存储学生中成绩最低的分数,avg_score用来存储所有学生的平均分。
函数input_student 提示用户输入所有学生的信息。
函数show 展示所有学生的信息
函数 Clac 统计每个分数段的学生的人数占所有人数的百分比。
2.流程图及代码实现:
程序流程图:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714448093144-3063eded-9dee-44fd-a53c-f9bf60e2918e.png#averageHue=%23eaeaea&from=url&id=OmwFR&originHeight=720&originWidth=253&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
源代码:
```
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. 课程设计成果
运行结果:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1714448093211-7d3a0bd3-a839-451d-b9a1-626807a997b1.png#averageHue=%23fefefe&from=url&id=mEJ1f&originHeight=421&originWidth=384&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
# 5. 课程设计心得
通过本次实验,我有一个惨痛的教训,就是不能等到把全部程序写完再调试,必须写一部分就调试一部分,如果把全部程序写完再调试会发生许多的错误,再以后的编程实践中,我们应该写一个函数或者是一个模块,然后进行调试,调试成功后再继续进行写程序。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
详情介绍:https://www.yuque.com/sxbn/ks/100010692 设计一个成绩统计系统,要求能录入成绩,并对成绩进行分段人数统计(90-100、80-89、70-79、60-69、0-59共五个段),计算每个段人数的百分比,输出所有成绩中的最高分、最低分和平均分。
资源推荐
资源详情
资源评论
收起资源包目录
100010692-基于Python实现(控制台)成绩统计系统.zip (4个子文件)
achievement
学生成绩管理系统.docx 65KB
main.py 1KB
LICENSE 1KB
README.md 5KB
共 4 条
- 1
资源评论
神仙别闹
- 粉丝: 2687
- 资源: 7649
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功