用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

相关文章
|
11月前
|
算法 搜索推荐 JavaScript
基于python智能推荐算法的全屋定制系统
本研究聚焦基于智能推荐算法的全屋定制平台网站设计,旨在解决消费者在个性化定制中面临的选择难题。通过整合Django、Vue、Python与MySQL等技术,构建集家装设计、材料推荐、家具搭配于一体的一站式智能服务平台,提升用户体验与行业数字化水平。
|
11月前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
11月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
11月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
基于python的餐厅点餐系统
本课题研究开发餐厅点餐系统,旨在提升餐厅信息处理效率与管理水平。通过计算机技术规范点餐流程,加快信息处理速度,助力管理人员高效运作。系统包含功能结构图与具体实现模块,全面展示系统设计与运行逻辑。

推荐镜像

更多