用Python编写学生成绩管理系统

简介: 用Python编写学生成绩管理系统

在平时比赛的时候,我们在Excel里面写入数据后,需要排名还要进行按钮的点击,小王觉得有点烦,作为强大的编程语言Python,难道不可以吗?答案是,当然可以!


项目说明:程序运行后,提示用户有选项菜单,用户根据菜单进行成绩录入,简单方便,随时查看!


涉及知识:元组列表,条件语句,循环,字符串,简单算法,字典,函数


元组算法

# -*- coding :  utf-8 -*-
# @Time      :  2020/8/8
# @author    :  王小王
# @Software  :  PyCharm
# @CSDN      :  https://blog.csdn.net/weixin_47723732
scores = []
choice = None
print('''
        成绩录入小程序
        0 - 结束程序
        1 - 输入姓名成绩并录入
        2 - 打印排名好后的成绩
        3 - 查找特定学生的成绩
        4 - 删除特定学生的成绩
     ''')
while choice != "0":
    choice = input("Choice: ")
    if choice == "0":
        print("结束程序!")
    elif choice == "1":
        name = input("输入姓名: ")
        score = int(input("输入成绩: "))
        listing = (score, name)
        scores.append(listing)
        scores.sort(reverse=True)
    elif choice == "2":
        print("  成绩排名")
        print("姓名\t成绩")
        for listing in scores:
            score, name = listing
            print(name, "\t", score)
    elif choice == "3":
        Name = input("输入你要查找的姓名:")
        for each in scores:
            if each[1] == Name:
                score ,name=each
                print("姓名\t成绩")
                print(name, "\t", score  )
    elif choice == "4":
        Name = input("输入您要删除成绩的姓名: ")
        for each in scores:
            if each[1] == Name:
                scores.remove(each)
    else:
        print("你输入的选择有误,请检查!")
input("\n\nPress the enter key to exit.")

image.png


字典算法

# -*- coding :  utf-8 -*-
# @Time      :  2020/8/8
# @author    :  王小王
# @Software  :  PyCharm
# @CSDN      :  https://blog.csdn.net/weixin_47723732
# 所有学生数据保存到一个列表,每个学生的信息用一个字典表示[{},{}]
records = []
def print_menu():
    """
    打印出整个菜单
    :return:
    """
    print("""
    学生信息系统
    0 - 退出
    1 - 显示所有学生信息
    2 - 添加学生信息
    3 - 查找学生信息
    4 - 删除学生信息
    5 - 排序
    """)
def user_choice():
    """
    获取用户输入,并确保输入数据在0-4之间
    :return: 返回合法的用户选择
    """
    choice = input("请选择(0~5):")
    # 确保用户的选择是在0~4
    while int(choice) > 5 or int(choice) < 0:
        choice = input("请重新选择(0~5):")
    return choice
def add_record():
    """
    添加用户数据
    :return:
    """
    name = input('请输入学生的名字:')
    while name == '':
        name = input('请输入学生的名字:')
    # 确定学生信息是否已经录入
    for info in records:
        if info['name'] == name:
            print("该学生已经存在")
            break
    else:
        score = float(input('请输入成绩(0~100):'))
        while score < 0 or score > 100:
            score = float(input('请输入成绩(0~100):'))
        info = {
            'name': name,
            'score': score
        }
        records.append(info)
def display_records():
    """
    展示数据
    :return:
    """
    print("所有学生信息")
    for info in records:
        print("姓名:", info['name'], '成绩:', info['score'])
def search_record():
    """
    根据学生名字查找信息,并输出学生的成绩
    :return:
    """
    name = input('请输入学生的名字:')
    while name == '':
        name = input('请输入学生的名字:')
    for info in records:
        if info['name'] == name:
            print("学生成绩为:", info['score'])
            break
    else:
        print("没有该学生")
def del_record():
    """
    根据学生名字删除数据
    :return:
    """
    name = input('请输入学生的名字:')
    while name == '':
        name = input('请输入学生的名字:')
    for info in records:
        if info['name'] == name:
            records.remove(info)
            break
    else:
        print("没有该用户")
choice = None
while choice != "0":
    # 打印菜单
    print_menu()
    # 获取用户输入
    choice = user_choice()
    # 用条件分支去判定各种选择
    if choice == '1':
        # 显示数据
        display_records()
    elif choice == '2':
        # 添加一个学生数据
        add_record()
    elif choice == '3':
        # 查找信息
        search_record()
    elif choice == '4':
        # 删除数据
        del_record()
    elif choice == '5':
        records.sort(key=lambda item: item['score'])
    elif choice == '0':
        # 退出程序
        print('欢迎下次登录本系统')
    else:
        print('选择错误!!!')

image.png

相关文章
|
2天前
|
机器学习/深度学习 数据采集 供应链
Python实现深度学习模型:智能库存管理系统
【10月更文挑战第5天】 Python实现深度学习模型:智能库存管理系统
23 9
|
6天前
|
Linux 开发者 iOS开发
告别兼容烦恼!Python系统编程中的跨平台艺术大师🎨
【10月更文挑战第2天】Python 以其强大的跨平台能力成为系统编程领域的艺术大师,有效解决了不同操作系统间的兼容性问题,让开发者能专注于业务逻辑而非平台差异。通过内置的 `os`、`platform` 和 `subprocess` 模块,以及第三方库如 `pathlib`,Python 能轻松处理文件系统操作、执行外部命令等任务。此外,Python 还提供了 Tkinter、PyQt 等库支持跨平台 GUI 开发,确保应用程序在 Windows、macOS 和 Linux 上均能正常运行。Python 的强大工具链使其在跨平台编程领域中持续引领新潮流。
23 4
|
7天前
|
数据可视化 测试技术 Linux
基于Python后端构建多种不同的系统终端界面研究
【10月更文挑战第10天】本研究探讨了利用 Python 后端技术构建多样化系统终端界面的方法,涵盖命令行界面(CLI)、图形用户界面(GUI)及 Web 界面。通过分析各种界面的特点、适用场景及关键技术,展示了如何使用 Python 标准库和第三方库(如 `argparse`、`click`、`Tkinter` 和 `PyQt`)实现高效、灵活的界面设计。旨在提升用户体验并满足不同应用场景的需求。
|
1天前
|
机器学习/深度学习 Python
基于python-django的肺结核图片识别系统
基于python-django的肺结核图片识别系统
6 0
|
1天前
|
SQL 前端开发 Python
基于python-django的neo4j人民的名义关系图谱查询系统
基于python-django的neo4j人民的名义关系图谱查询系统
4 0
|
1天前
|
数据采集 前端开发 数据库
基于python-django的neo4j化学关系材料图谱系统
基于python-django的neo4j化学关系材料图谱系统
4 0
|
1天前
|
Python
基于python-django的matlab护照识别网站系统
基于python-django的matlab护照识别网站系统
5 0
|
1天前
|
安全 Java Python
基于python-django的Java网站全站漏洞检测系统
基于python-django的Java网站全站漏洞检测系统
4 0
|
2天前
|
索引 Python
Excel学习笔记(一):python读写excel,并完成计算平均成绩、成绩等级划分、每个同学分数大于70的次数、找最优成绩
这篇文章是关于如何使用Python读取Excel文件中的学生成绩数据,并进行计算平均成绩、成绩等级划分、统计分数大于70的次数以及找出最优成绩等操作的教程。
7 0
|
9天前
|
iOS开发 MacOS Python
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
19 0