python实现简单成绩录入系统

Python 实现简单成绩录入系统

1. 设计数据结构

在编写代码之前,我们需要先确定数据结构。对于一个简单的成绩录入系统,我们可以考虑使用字典来存储数据。字典中的键可以是学生姓名,值可以是成绩列表。例如,我们可以将数据结构设计成以下形式:

scores = {
"张三": [80, 90, 85],
"李四": [75, 85, 80],
"王五": [90, 95, 85]
}

2. 实现功能代码

有了数据结构之后,我们可以开始实现功能代码。以下是一个实现简单成绩录入系统的 Python 代码:

scores = {}

def input_scores():
    name = input("请输入学生姓名:")
    score = input("请输入学生成绩(用空格分隔):")
    score_list = score.split()
    score_list = [int(x) for x in score_list]
    scores[name] = score_list

def output_scores():
    print("{:<10}{:<20}{:<20}{:<20}".format("学生姓名", "语文成绩", "数学成绩", "英语成绩"))
    for name, score_list in scores.items():
        chinese_score = score_list[0]
        math_score = score_list[1]
        english_score = score_list[2]
        print("{:<10}{:<20}{:<20}{:<20}".format(name, chinese_score, math_score, english_score))

while True:
    print("请输入要进行的操作:")
    print("1. 成绩录入")
    print("2. 成绩输出")
    print("3. 退出系统")

    choice = input("请选择操作:")

    if choice == "1":
        input_scores()
    elif choice == "2":
        output_scores()
    elif choice == "3":
        break
    else:
        print("输入错误,请重新输入!")

运行上述代码,会出现一个菜单:

请输入要进行的操作:
1. 成绩录入
2. 成绩输出
3. 退出系统

用户可以输入 1、2、3 中的一个数字选择相应的功能。如果选择成绩录入,则会提示用户输入学生姓名和成绩,并将其保存到字典中;如果选择成绩输出,则会将目前保存的所有成绩输出;如果选择退出系统,则会退出程序。

示例说明:

以下是一个示例说明,使用这个程序来记录三个学生的成绩:

输入

请输入要进行的操作:
1. 成绩录入
2. 成绩输出
3. 退出系统
请选择操作:1
请输入学生姓名:张三
请输入学生成绩(用空格分隔):80 90 85
请输入要进行的操作:
1. 成绩录入
2. 成绩输出
3. 退出系统
请选择操作:1
请输入学生姓名:李四
请输入学生成绩(用空格分隔):75 85 80
请输入要进行的操作:
1. 成绩录入
2. 成绩输出
3. 退出系统
请选择操作:1
请输入学生姓名:王五
请输入学生成绩(用空格分隔):90 95 85
请输入要进行的操作:
1. 成绩录入
2. 成绩输出
3. 退出系统
请选择操作:2
学生姓名    语文成绩                数学成绩                英语成绩
张三        80                    90                    85                
李四        75                    85                    80                
王五        90                    95                    85                
请输入要进行的操作:
1. 成绩录入
2. 成绩输出
3. 退出系统
请选择操作:3

输出

学生姓名    语文成绩                数学成绩                英语成绩
张三        80                    90                    85                
李四        75                    85                    80                
王五        90                    95                    85 

可见,程序正确地记录了三个学生的成绩,并能够将它们输出。

另外一个示例说明:

以下是另外一个示例说明,可以使用一个文本文件来输入成绩信息:

输入

在程序目录下新建一个文本文件“scores.txt”,输入以下内容:

张三 80 90 85
李四 75 85 80
王五 90 95 85

然后打开 Python 解释器,输入以下代码:

scores = {}

def read_scores(filename):
    with open(filename, "r") as f:
        for line in f:
            parts = line.strip().split()
            name = parts[0]
            score_list = [int(x) for x in parts[1:]]
            scores[name] = score_list

read_scores("scores.txt")
output_scores()

运行代码后,会输出以下内容:

学生姓名    语文成绩                数学成绩                英语成绩
张三        80                    90                    85                
李四        75                    85                    80                
王五        90                    95                    85

可见,程序正确地读取了保存在文件中的成绩信息,并能够将其输出。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现简单成绩录入系统 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • python读取excel指定列数据并写入到新的excel方法

    下面我将详细讲解Python读取Excel指定列数据并写入到新的Excel方法的完整实例教程。 准备工作 在开始之前,我们需要先安装一些必要的包: pandas:数据分析库,提供快速、灵活且富有表现力的数据结构,目的是为了让数据的清洗、转换、分析工作快速、简单、有表现力。 openpyxl:操作Excel的一个Python库,可以读取和写入Excel文档。 …

    python 2023年5月13日
    00
  • python numpy和list查询其中某个数的个数及定位方法

    以下是“Python numpy和list查询其中某个数的个数及定位方法”的完整攻略。 1. Python list count方法 在Python中,list是一种常用的数据结构,可以存储任意的数据。list提供了count()方法用来统计list某个元素出现的次数。count()方法的语法如下: .count(element) 其中,list要统计的li…

    python 2023年5月13日
    00
  • Python Matplotlib初阶使用入门教程

    下面是关于“Python Matplotlib初阶使用入门教程”的完整攻略: Python Matplotlib初阶使用入门教程 什么是Matplotlib Matplotlib是Python中最常用的数据可视化库之一。它可以构建各种类型的图表,例如折线图、散点图、柱状图等等。 安装Matplotlib 可以使用pip命令或者Anaconda进行安装,命令如…

    python 2023年5月19日
    00
  • Python中实现对Timestamp和Datetime及UTC时间之间的转换

    下面是详细的攻略: Python中Timestamp、Datetime和UTC时间之间的转换 Timestamp与Datetime之间的转换 在Python中,我们可以将时间表示成Timestamp和Datetime这两种类型。Timestamp是指从1970年1月1日00:00:00开始的秒数,它通常是有符号的整数或浮点数。而Datetime则是一个更易读…

    python 2023年6月2日
    00
  • Python中的协程(Coroutine)操作模块(greenlet、gevent)

    Python中的协程(Coroutine)操作模块 什么是协程 协程是一种并发编程的方式,可以让函数在执行过程中暂停,并在需要的时候恢复执行。协程和线程不同,协程是一种用户态的轻量级线程,不需要操作系统进行上下文切换,所以可以进行更细粒度的调度。 greenlet模块 greenlet模块是一个允许嵌套使用的协程模块。它提供了一个Greenlet类,可以用于…

    python 2023年5月19日
    00
  • Python脚本实现DNSPod DNS动态解析域名

    下面是Python脚本实现DNSPod DNS动态解析域名的完整攻略: 步骤1:在DNSPod后台进行API Token申请 首先,需要在DNSPod的后台进行API Token的申请,具体的流程如下:1. 登录DNSPod官网并进入 控制台 – 用户中心 – 安全设置 – API Token 中;2. 点击“API Token管理”,进行token的申请;…

    python 2023年6月3日
    00
  • Python面试之os.system()和os.popen()的区别详析

    Python面试之os.system()和os.popen()的区别详析 os.system()和os.popen()是什么? os.system()和os.popen()是Python中的两个内置函数,都用于执行操作系统的命令。 os.system()用于执行简单的命令并返回执行结果的状态码;os.popen()用于执行并返回命令的输出结果。 os.sys…

    python 2023年5月30日
    00
  • 计算NumPy数组中非NaN元素的数量

    计算NumPy数组中非NaN(Not a Number)元素的数量通常使用函数numpy.count_nonzero()来实现。count_nonzero()函数返回给定数组中非零元素的数量。对于NaN元素,它们的值在数学计算中无法确定,所以numpy中定义了专门的函数numpy.isnan()来判定一个元素是否为NaN,可以组合使用两个函数来处理。 下面是…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部