前期准备
局部变量与全局变量
局部变量: 定义在函数内部的变量
全局变量: 定义在函数外部的变量
在函数内部修改全局变量的值是需要: 添加关键字 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