2020-04-21 关于一个学生管理系统的代码理解

今天,我又来了,我今天敲一下关于这个学生管理系统的代码。

具体分为以下几个部分:
1、新建一个列表,用来存放所有的学生信息
2、定义一个打印一个功能菜单目录(告诉和简化指令)
3、定义一个添加信息的函数
4、定义一个删除信息的函数
5、定义一个修改信息的函数
6、定义一个打印学生信息的函数
7、定义一个总函数用来调用上面定义的函数

废话不多说,我们开始第一个板块

一、新建一个列表
stuInfos = []
二、打印目录函数
def printMenu():
        print("=" * 30)
        print("  学生管理系统 V1.0 ")
        print("1. 添加学生信息 ")
        print("2. 删除学生信息 ")
        print("3. 修改学生信息 ")
        print("4. 显示所有学生信息 ")
        print("0. 退出系统 ")
        print("=" * 30)

到这基本上都是很简单的

三、添加函数
def addStuInfo():
    newName = input(" 请输入新学生的名字: ")
#  提示并获取学生的性别
    newSex = input(" 请输入新学生的性别: ( 男 / 女 )")
#  提示并获取学生的手机号码
    newPhone = input(" 请输入新学生的手机号码: ")
    newInfo = {}
    newInfo['name'] = newName
    newInfo['sex'] = newSex
    newInfo['phone'] = newPhone
    stuInfos.append(newInfo)

这里是把输入的信息放到newInfo{}字典里面,然后通过append函数,将信息加入到了总信息库stuInfos列表里面,形成列表字典嵌套
我在这做了个小例子,代码如下:(这个不是管理系统里面的代码!是我举的关于列表字典嵌套的例子)

StudentInfos = []
A = {'name' :'xxx','sex':'nan'}
StudentInfos.append(A)
print(StudentInfos)
B = {'name':'yyy','sex':'nv'}
StudentInfos.append(B)
print(StudentInfos)
看,结果就和上面一样,这就是所谓的列表字典嵌套。好处就是一个字典是一个学生的所有信息!
四、删除函数
def delStuInfo(student):
    delNum = int(input(" 请输入要删除的序号: "))-1
    del student[delNum]

这里也挺好理解的当你想修改第一个字典时,序号应当是0,而不是1。

五、修改函数
def modifyStuInfo():
    stuId=int(input(" 请输入要修改的学生的序号: "))
    newName = input(" 请输入新学生的名字: ")
    newSex = input(" 请输入新学生的性别: ( 男 / 女 )")
    newPhone = input(" 请输入新学生的手机号码: ")
    stuInfos[stuId - 1]['name'] = newName
    stuInfos[stuId - 1]['sex'] = newSex
    stuInfos[stuId - 1]['phone'] = newPhone

这里是利用重新赋值达到一个对于信息的修改
举例说明:

StudentInfos = []
A = {'name' :'xxx','sex':'nan'}
StudentInfos.append(A)
B = {'name':'yyy','sex':'nv'}
StudentInfos.append(B)
print(StudentInfos)
newname = 'zzz'
StudentInfos[0]['name']=newname
print(StudentInfos)
前后对比
六、展示函数
def showStuInfo():
    print("="  * 30)
    print(" 学生的信息如下 :")
    print("="  * 30)
    print(" 序号 姓名 性别 手机号码 ")
    i = 1
    for tempInfo in stuInfos:
        print("%d %s %s %s" % (i, tempInfo['name'],
        tempInfo['sex'], tempInfo['phone']))
        i += 1

上面的print没的说,主要是下面的用到了一个for循环和%的格式化输出

七、调用函数
def main():
    while True:
        printMenu() #  打印菜单
        key=input(" 请输入功能对应的数字 :") #  获得用户输入的序号
        if key=='1': #  添加学生的信息
            addStuInfo()
        elif key =='2': #  删除学生的信息
            delStuInfo(stuInfos)
        elif key=='3': #  修改学生的信息
            modifyStuInfo()
        elif key=='4': #  查看所有学生的信息
            showStuInfo()
        elif key=='0': #  退出系统
            quitConfirm = input(" 亲,真的要退出么? (Yes or No):")
            if quitConfirm == "Yes":
                break
            else:
                print(" 输入有误,请重新输入 ")

这里有对应的key数字对应不同的if通道调所定义的函数,进行分支处理,我们的while循环是为了保证在输入了一次key调用了函数之后,继续回到打印菜单然后继续可以输入key操作,当输入'0'时输入'yes',则break循环,结束。

当然!最重要的是我们要调用main()函数,利用main()函数已经设计好了的来调用其他函数!

main()

好的最后一步我们也完成啦!


点个赞再走吧!
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容