用python写一个学生管理系统

在公司实习,每个月的作业,4月份的作业,无所谓哪种语言,写一个学生管理系统,最好用python。

我都没学过python呢,只好开始临时抱佛脚,再到网上找找有没有例子看看,下面是我参照另一个博主写的,中间有一些和我不能融合的错误,我已经解决了。

input("\n\nPress the enter key to exit.")


def functionList():  # 定义功能菜单
    print("---------请输入序号选择您要得功能---------")
    print("")
    print("-" * 14 + "1.查看学生信息" + "-" * 14)
    print("-" * 42)
    print("-" * 14 + "2.增加学生信息" + "-" * 14)
    print("-" * 42)
    print("-" * 14 + "3.删除学生信息" + "-" * 14)
    print("-" * 42)
    print("-" * 14 + "4.修改学生信息" + "-" * 14)
    print("-" * 42)
    print("-" * 14 + "5.查找系统学生" + "-" * 14)
    print("-" * 42)
    print("-" * 14 + "6.返回到上一级" + "-" * 14)
    print("-" * 42)
    print("-" * 14 + "7.退出学生系统" + "-" * 14)
    print("")


def functionList2():  # 定义简单版功能菜单

    print("---1:查看----2:增加-----3:删除----4:修改----")
    print("-------5:查找-------6:返回------7:退出------")


def sexInputDebug(sexInput):  # 检查性别输入是否正确
    if len(sexInput) == 1 and (sexInput.lower() == "m" or sexInput.lower() == "f"):
        return True
    else:
        return False


def ageInputDebug(ageInput):  # 检查年龄输入是否正确
    if len(ageInput) == 2 and ageInput.isdigit() == True:
        return True
    else:
        return False


def IDInputDebug(IDInput):  # 检查学号输入是否正确
    if len(IDInput) == 8 and IDInput.isdigit() == True:
        return True
    else:
        return False


def nameListFunction():  # 显示单个学生姓名信息
    nameList = []
    for i in range(len(studentList)):
        if studentList[i]["name"] not in nameList:
            nameList.append(studentList[i]["name"])
    return nameList


def findNameLocation(studentname):  # 通过名字找到学生位置
    for j in range(len(studentList)):
        if studentList[j]["name"] == studentname:
            return j


def listFunction():  # 定义显示现有学生信息函数
    for i in range(len(studentList)):
        studentInfo = studentList[i]
        print("姓名:%s--性别:%s--年龄:%s--学号:%s--备注:%s--" % (
        studentInfo["name"], studentInfo["sex"], studentInfo["age"], studentInfo["studentID"], studentInfo["extra"]))
        print("")


def addFunction():  # 定义增加学生函数

    while True:
        numInput =input("-----修改已经存在的学生备注请输入1\n-----------增加一个新的学生请输入2:")
        if numInput == "2":
            while True:
                nameNoExistAdd = input("请输入您要增加的名字:")

                nameList = nameListFunction()
                if nameNoExistAdd in nameList:
                    print("%s在学生管理系统中已经存在" % nameNoExistAdd)
                    print("")

                else:
                    newStudent = {}
                    newStudent["name"] = nameNoExistAdd
                    while True:
                        sexInput = input("----请输入%s的性别--f:man--m:women:" % nameNoExistAdd)
                        if sexInputDebug(sexInput) == True:
                            newStudent["sex"] = sexInput
                            break
                        else:
                            print("输入有误,请重新输入!")
                    while True:
                        ageInput = input("-------请输入%s2位数字表示的年龄:" % nameNoExistAdd)
                        if ageInputDebug(ageInput) == True:
                            newStudent["age"] = ageInput
                            break
                        else:
                            print("输入有误,请重新输入!")
                    while True:
                        IDInput = input("----------请输入%s的8位学号:" % nameNoExistAdd)
                        if IDInputDebug(IDInput) == True:
                            newStudent["studentID"] = IDInput
                            break
                        else:
                            print("输入有误,请重新输入!")
                    extraInput = input("----------请输入%s的备注:" % nameNoExistAdd)
                    newStudent["extra"] = extraInput
                    studentList.append(newStudent)
                    print("--------------%s已经添加到学生管理系统" % nameNoExistAdd)
                    print("")
                    print("姓名:%s--性别:%s--年龄:%s--学号:%s--备注:%s--" % (
                    newStudent["name"], newStudent["sex"], newStudent["age"], newStudent["studentID"],
                    newStudent["extra"]))
                    break
            break
        elif numInput == "1":
            while True:
                nameExistAdd = input("------请输入您要修改备注的学生的名字:")
                nameList = nameListFunction()
                if nameExistAdd in nameList:
                    extraExistAdd = input("-----------------请输入您要添加的备注:")
                    j = findNameLocation(nameExistAdd)
                    studentList[j]["extra"] = extraExistAdd
                    print("---------------备注已经添加--------------")
                    print("")
                    print("姓名:%s--性别:%s--年龄:%s--学号:%s--备注:%s--" % (
                    studentList[j]["name"], studentList[j]["sex"], studentList[j]["age"], studentList[j]["studentID"],
                    studentList[j]["extra"]))
                    print("")
                    break
                else:
                    print("-----------------您输入的姓名不存在")
            break

        else:
            print("----------------您输入的信息不正确")


def delFunction():  # 定义删除学生的函数
    while True:
        nameDel = input("---------------请输入您要删除的名字:")
        studentNameList = nameListFunction()
        if nameDel in studentNameList:
            j = findNameLocation(nameDel)

            del studentList[j]
            print("-------------%s已经从学生管理系统中删除" % nameDel)
            print("")
            break
        else:
            print("------------------您要删除的名字不存在!")


def modifiFunction():  # 定义修改学生的函数
    while True:
        nameModifi = input("----------------请输入要修改的名字:")
        studentNameList = nameListFunction()
        if nameModifi in studentNameList:
            print("------------请选择要修改的内容-----------")
            print("--------------1:修改姓名---------------")
            print("--------------2:修改性别---------------")
            print("--------------3:修改年龄---------------")
            print("--------------4:修改学号---------------")
            print("--------------5:修改备注---------------")

            while True:
                choiceInput = input("请输入:")
                if choiceInput == "1":
                    newNameInput = input("----------请输入新的姓名:")
                    j = findNameLocation(nameModifi)
                    studentList[j]["name"] = newNameInput
                    print("------------姓名已经更新------------")
                    print("")
                    break
                elif choiceInput == "2":
                    while True:
                        newSexInput = input("----请输入新的性别--f:man--m:women---")
                        if sexInputDebug(newSexInput) == True:
                            j = findNameLocation(nameModifi)
                            studentList[j]["sex"] = newSexInput
                            print("-------------性别已经更新-------------")
                            print("")
                            break
                        else:
                            print("---------输入有误,请重新输入!---------")
                    break
                elif choiceInput == "3":
                    while True:
                        newAgeInput = input("----------请输入新的年龄:")
                        if ageInputDebug(newAgeInput) == True:
                            j = findNameLocation(nameModifi)
                            studentList[j]["age"] = newAgeInput
                            print("------------年龄已经更新------------")
                            print("")
                            break
                        else:
                            print("----------入有误,请重新输入!-------")
                    break
                elif choiceInput == "4":
                    while True:
                        newIDInput = input("----------请输入新的学号:")
                        if IDInputDebug(newIDInput) == True:
                            j = findNameLocation(nameModifi)
                            studentList[j]["studentID"] = newIDInput
                            print("------------学号已经更新------------")
                            print("")
                            break
                        else:
                            print("----------入有误,请重新输入!-------")
                    break
                elif choiceInput == "5":
                    newExtraInput = input("----------请输入新的备注:")
                    j = findNameLocation(nameModifi)
                    studentList[j]["extra"] = newExtraInput
                    print("------------备注已经更新------------")
                    print("")
                    break
                else:
                    print("---------输入有误,请重新输入!-------")
                    print("")
            break
        else:
            print("-----------------您输入的名字不存在!")
            print("")


def searchFunction():  # 定义搜索学生的函数
    nameSearch = input("-------------请输入要查找的名字:")
    print("")
    nameList = nameListFunction()
    if nameSearch in nameList:
        print("-----------------%s在学生管理系统中-------------------" % nameSearch)
        print("")
        j = findNameLocation(nameSearch)
        print("姓名:%s--性别:%s--年龄:%s--学号:%s--备注:%s--" % (
        studentList[j]["name"], studentList[j]["sex"], studentList[j]["age"], studentList[j]["studenID"],
        studentList[j]["extra"]))
        print("")
    else:
        print("----------------%s不在学生管理系统中-----------------" % nameSearch)
        print("")
        # 默认学生信息系统内容


studentList = [{"name": "Frank", "sex": "f", "age": 33, "studentID": "312312", "extra": ""},
               {"name": "Jane", "sex": "m", "age": 45, "studentID": "324235", "extra": ""}]

# 函数主体
print("-" * 11 + "欢迎来到学生管理系统" + "-" * 11)
print("")
print("")
functionList()
while True:  # 进入循环,根据序号选择操作
    userInput = input("----------------请输入您要选择的功能序号:")
    print("")

    if userInput == "1":  # 显示现有学生和返回
        listFunction()
        functionList2()
        continue
    elif userInput == "2":  # 使用增加函数和返回
        addFunction()
        functionList2()
        continue
    elif userInput == "3":  # 使用删除函数和返回
        delFunction()
        functionList2()
        continue
    elif userInput == "4":  # 使用修改函数和返回
        modifiFunction()
        functionList2()
        continue
    elif userInput == "5":  # 使用搜索函数和返回
        searchFunction()
        functionList2()
        continue
    elif userInput == "6":  # 返回功能列表
        functionList()
        continue
    elif userInput == "7":  # 退出
        break
    else:
        print("----------输入有误,请重新输入!----------")

以下就是运行后的结果:
这里写图片描述

这里写图片描述

具体内容实现我还要研究研究,不过这个代码亲测已经可以运行了,小伙伴可以copy了。

过程中遇到的问题:
1. raw_input:我用的是3x的pyCharm,和2x的区别就在于不识别 raw_input,而要使用input。

原博客:http://blog.csdn.net/qianxin12345/article/details/52330536

  • 20
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值