Python学生管理系统

Python学生管理系统

功能

  1. 学生信息录入
  2. 学生成绩查询
  3. 查找学生信息
  4. 录入学生成绩
  5. 课程平均值
  6. 所有学生信息

工具

  • JetBrains PyCharm 2019.1.3

效果展示图

欢迎界面图
Python学生管理系统
学生信息录入
Python学生管理系统
斜体样式
Python学生管理系统
查找学生信息
Python学生管理系统
录入学生信息

Python学生管理系统
课程平均值
Python学生管理系统
所有学生信息
Python学生管理系统
退出系统
Python学生管理系统

结构分析

Python学生管理系统

Python代码

studentmanagementsystem模块

import tools


def main():
    """主函数"""
    while True:
        # 显示功能菜单
        tools.show_menu()
        action_str = input('\033[1;31m%s\033[0m' % '您希望选择执行的操作:')
        print('\033[1;31m%s\033[0m' % "您选择的操作是:【%s】" % action_str)

        # 针对名片的操作
        if action_str in ["1", "2", "3", "4", "5", "6"]:
            if action_str == "1":
                tools.informationinput_card()
            elif action_str == "2":
                tools.searchscore_card()
            elif action_str == "3":
                tools.searchinformation_card()
            elif action_str == "4":
                tools.addsocre_card()
            elif action_str == "5":
                tools.socrearrage_card()
            elif action_str == "6":
                tools.showallstudent_card()
        elif action_str == "0":
            print('\033[1;31m%s\033[0m' % "欢迎再次使用【名片管理系统】!")
            break

        pass


if __name__ == '__main__':
    main()

tools 模块

# 记录所有信息的字典
card_list = []


def show_menu():
    """显示菜单模块"""
    print('\033[1;31m%s\033[0m' % "*" * 65)
    print('\033[1;31m%s\033[0m' % '''----------------------------------------------------------
|                    欢迎进入学生管理系统                    |
|                                                         |
| 1.学生信息录入      2.学生成绩查询     3.查找学生信息       |
| 4.录入学生成绩      5.课程平均值      6.所有学生信息         |
----------------------------------------------------------''')


def informationinput_card():
    """学生信息录入"""
    print('\033[1;31m%s\033[0m' % '-' * 65)
    print('\033[1;31m%s\033[0m' % '【学生信息录入】')

    # 1.提示输入学生信息的详细内容
    name = input('\033[1;31m%s\033[0m' % '请输入学生的姓名:')
    phone = input('\033[1;31m%s\033[0m' % '请输入学生的电话号码:')
    ch_score = input('\033[1;31m%s\033[0m' % '请输入学生的语文成绩:')
    math_score = input('\033[1;31m%s\033[0m' % '请输入学生的数学成绩:')
    en_score = input('\033[1;31m%s\033[0m' % '请输入学生的英语成绩:')

    # 2.使用输入的学生信息 放入一个信息字典中
    card_dict = {
        "姓名": name,
        "电话": phone,
        "语文成绩": ch_score,
        "数学成绩": math_score,
        "英语成绩": en_score
    }

    # 3.将信息字典添加到列表中
    card_list.append(card_dict)

    # 4.提示学生信息添加成功
    print('\033[1;31m%s\033[0m' % '添加 %s 的信息成功!' % name)


def searchscore_card():
    """学生成绩查询"""
    print('\033[1;31m%s\033[0m' % '-' * 65)
    print('\033[1;31m%s\033[0m' % '【学生成绩查询】')
    find_name = input('\033[1;31m%s\033[0m' % '请输入要搜索的学生姓名:')
    for card_dict in card_list:
        if card_dict["姓名"] == find_name:
            print('\033[1;31m%s\033[0m' % "姓名\t\t\t语文成绩\t\t\t数学成绩\t\t\t英语成绩")
            print('\033[1;31m%s\033[0m' % "=" * 65)
            print('\033[1;31m%s\033[0m' % "%s\t\t\t%s\t\t\t%s\t\t\t%s" % (card_dict["姓名"],
                                                                          card_dict["语文成绩"],
                                                                          card_dict["数学成绩"],
                                                                          card_dict["英语成绩"]))
        break
    else:
        print('\033[1;31m%s\033[0m' % "抱歉,没有找到%s" % find_name)


def searchinformation_card():
    """查找学生信息"""
    print('\033[1;31m%s\033[0m' % '-' * 65)
    print('\033[1;31m%s\033[0m' % '搜索学生信息')
    find_name = input('\033[1;31m%s\033[0m' % '请输入要搜索的姓名:')
    for card_dict in card_list:
        if card_dict["姓名"] == find_name:

            print('\033[1;31m%s\033[0m' % "找到了!")
            print()
            print('\033[1;31m%s\033[0m' % "姓名\t\t\t电话\t\t\t语文成绩\t\t\t数学成绩\t\t\t英语成绩")
            print('\033[1;31m%s\033[0m' % "=" * 65)
            print('\033[1;31m%s\033[0m' % "%s\t\t\t%s\t\t\t%s\t\t\t%s\t\t\t%s" % (card_dict["姓名"],
                                                                                  card_dict["电话"],
                                                                                  card_dict["语文成绩"],
                                                                                  card_dict["数学成绩"],
                                                                                  card_dict["英语成绩"]))
            # 针对找到的名片记录执行修改和删除的操作
            # deal_card(card_dict)
            break
        else:
            print("抱歉,没有找到%s" % find_name)


def addsocre_card():
    """录入学生信息"""
    print('\033[1;31m%s\033[0m' % "-" * 65)
    print('\033[1;31m%s\033[0m' % "录入学生信息!")
    find_name = input('\033[1;31m%s\033[0m' % '请输入的录入信息的学生姓名:')
    for card_dict in card_list:
        if card_dict["姓名"] == find_name:
            card_dict["语文成绩"] = input('\033[1;31m%s\033[0m' % "请该学生的输入语文成绩:")
            card_dict["数学成绩"] = input('\033[1;31m%s\033[0m' % "请该学生的输入语文成绩:")
            card_dict["英语成绩"] = input('\033[1;31m%s\033[0m' % "请该学生的输入语文成绩:")
            break
    print("%s的学生成绩录入成功!" % find_name)


def socrearrage_card():
    """课程平均值"""
    print('\033[1;31m%s\033[0m' % "-" * 65)
    print('\033[1;31m%s\033[0m' % "查询课程平均值!")
    find_name = input('\033[1;31m%s\033[0m' % '请输入要搜索的姓名:')
    for card_dict in card_list:
        if card_dict["姓名"] == find_name:

            print('\033[1;31m%s\033[0m' % "找到了!")
            print()
            print('\033[1;31m%s\033[0m' % "姓名\t\t\t平均成绩")
            print('\033[1;31m%s\033[0m' % "=" * 65)
            print('\033[1;31m%s\033[0m' % "%s\t\t\t%d" % (card_dict["姓名"], int(eval(card_dict["语文成绩"])
                                                                               + eval(card_dict["数学成绩"])
                                                                               + eval(card_dict["英语成绩"]))/3))
            break
        else:
            print("抱歉,没有找到%s" % find_name)


def showallstudent_card():
    """所有学生信息"""
    print('\033[1;31m%s\033[0m' % "-" * 65)
    print('\033[1;31m%s\033[0m' % "显示所有学生的信息")

    # 判断是否存在名片记录,如果没有,提示用户并且返回
    if len(card_list) == 0:
        print('\033[1;31m%s\033[0m' % "当前没有记录任何学生的信息!")
        # return 可以返回一个函数的结果
        # 下方的代码不会被执行
        # 如果return后面没有任何内容,表示会返回到调用函数的位置
        # 可以不返回任何结果
        return
    # 打印表头
    for name in ["姓名", "电话", "语文成绩", "数学成绩", "英语成绩"]:
        print('\033[1;31m%s\033[0m' % name, end="\t\t\t")
    print("")
    # 打印分割线
    print('\033[1;31m%s\033[0m' % "=" * 65)
    # 遍历名片列表依次输出字典
    for card_dict in card_list:
        print('\033[1;31m%s\033[0m' % "%s\t\t\t%s\t\t\t%s\t\t\t%s\t\t\t%s" % (card_dict["姓名"],
                                            
上一篇:Linux echo命令定义字体和背景颜色


下一篇:python字符串各种颜色输出