前期准备

局部变量与全局变量

局部变量: 定义在函数内部的变量

全局变量: 定义在函数外部的变量

在函数内部修改全局变量的值是需要: 添加关键字 globa

python 通过关键字 global 声明使用的变量是全局变量

数据类型 --- 列表

列表是一个容器. 可以存放不同的数据类型. 使用 [] 进行表示.

[int, bool, string, list, tuple, dict]

访问

列表是支持下标和切片操作的.

列表的增删改查和排序

  • 列表的增加: append insert extend
  • 列表的删除: del remove pop
  • 列表的修改: list[下标] = value
  • 列表的查找: in not in count
  • 列表的排序: sort

数据类型 -- 字典

使用{} 进行表示. 并且{key:value}. 红黑树 

访问

dict[key] : 如果key 不存在的时候, 会报错

dict.get(key): 如果key 不存在,会返回 None

1、建立一个空列表

class_info = []

2、添加学员函数

思路:用户在终端分别输入学生的姓名、性别和分数,再遍历一遍列表是否有该学生姓名,如果有则会在终端中显示该学生已经存在,并且直接返回不执行插入操作,然后将学生的姓名、性别、分数放在字典中,最后将每个学生放入列表中。

def add_student():
    global class_info
    name = input("请输入想要添加的学生的姓名>>>")
    sex = input("请输入想要添加的学生的性别>>>")
    score = int(input("请输入想要添加的学生的分数>>>"))
    for stu in class_info:
        if stu["name"] == name:
            print("此学生已存在")
            return
    student = {
        "name": name,
        "sex": sex,
        "score": score
    }
    class_info.append(student)
    print("添加成功")
    return

3、删除学生函数

 思路:用户在终端输入想要删除的学生姓名,再根据输入的学生姓名进行遍历操作,如果列表中没有此学生姓名则直接在终端显示此人不存在,如果遍历到了该学生则会直接执行删除操作,并在终端显示删除成功。

def del_student():
    global class_info
    name = input("请输入想要删除学生的姓名>>>")
    for stu in class_info:
        if stu["name"] == name:
            class_info.remove(stu)
            print("删除成功")
            return
    print("此人不存在")
    return

4、修改学生函数

 思路:用户在终端输入想要修改的学生姓名,再根据输入的学生姓名进行遍历操作,如果列表中没有此学生姓名则直接在终端显示此人不存在,如果遍历到了该学生则会在终端出现输入操作,让用户直接修改学生的姓名、性别和年龄,但是要注意修改后的学生姓名是否已经存在,如果已经存在会导致修改学生信息失败,如果没有以上情况就会在终端显示修改成功。 

def mod_student():
    global class_info
    name = input("请输入想要修改学生的姓名>>>")
    for stu in class_info:
        if stu["name"] == name:
            name1 = input("请输入修改后的学生的姓名>>>")
            for stu in class_info:
                if stu["name"] == name1:
                    print("此学生已存在")
                    return
            stu["name"] = name1
            stu["sex"] = input("请输入修改后的学生的性别>>>")
            stu["score"] = int(input("请输入修改后的学生的分数>>>"))
            print("修改成功")
            return
    print("此学生不存在")
    return

5、 查找学生函数

思路:用户在终端输入想要查找的学生姓名,再根据学生姓名遍历整个列表,如果没有该学生则会在终端显示此人不存在,如果遍历到了该学生则将该学生所有信息在终端显示。

def find_student():
    global class_info
    name = input("请输想要查找的学生的姓名>>>")
    for stu in class_info:
        if stu["name"] == name:
            print("姓名:%s,年龄:%s,分数:%d" % (stu["name"], stu["sex"], stu["score"]))
            return
    print("此学生不存在")
    return

 6、显示所有学生的信息函数

思路:先在终端显示一行信息,如:序号、姓名、性别、分数,然后遍历列表,将所有学生的信息显示到终端。

def show_student():
    global class_info
    print("%15s%10s%10s%10s"%("序号", "姓名", "性别", "分数"))
    number = 1
    for stu in class_info:
        print("%15s%10s%10s%10s"%(number, stu["name"], stu["sex"], stu["score"]))
        number += 1
    return

7、主函数 

思路:现在终端显示一个选择菜单,然后显示一个输入选择的入口,根据用户输入的选择判断出用户想要执行什么操作。

def main():
    while True:
        choose = int(input("请输入你的选择>>>"))
        if choose == 1:
            add_student()
        elif choose == 2:
            del_student()
        elif choose == 3:
            mod_student()
        elif choose == 4:
            find_student()
        elif choose == 5:
            show_student()
        elif choose == 6:
            print("退出系统......")
            break
        else:
            print("输入错误,请重新输入你的选择")
            continue
    return