Python学习-学生管理系统基本需求实现学生类学生管理类补充列表推导式快捷键基本需求可以通过键盘输入信息完成基本操作例如选择序号确认退出添加学生、修改信息等学生属性信息有姓名、性别、年龄、联系方式、其他信息等使用系统可对学生信息进行添加、修改、删除、查询等操作可重复对学生进行增删查改操作当确认退出系统后则直接退出系统实现学生类定义一个学生类Student类中使用__init__()初始化学生属性类中使用__str__()方法输出对象信息classStudent:def__init__(self,name,gender,age,phone,desc): 初始化学生的属性信息包括姓名性别年龄联系方式其他信息等 :param name: 姓名 :param gender: 性别 :param age: 年龄 :param phone: 联系方式 :param desc: 其他信息 self.namename self.gendergender self.ageage self.phonephone self.descdesc# 打印对象信息def__str__(self): 打印学生信息 :return: returnf姓名:{self.name},性别:{self.gender},年龄:{self.age},联系方式:{self.phone},其他信息:{self.desc}if__name____main__:s1Student(圆圆,女,18,13562321111,班长喜欢跳舞)print(s1)学生管理类系统功能添加、删除、修改、查询学生信息显示所有学生信息保存学生信息退出系统。部分功能代码如下添加学生信息defadd_student(self):# 提示用户录入学生信息包括姓名性别年龄联系方式其他信息等并接收nameinput(请输入学生信息)genderinput(请输入学生性别)ageint(input(请输入学生年龄))phoneinput(请输入学生的联系方式)descinput(请输入学生的其他信息)# 1.2 把上述信息封装成学生对象stuStudent(name,gender,age,phone,desc)# 1.3 把学生对象添加到学生列表中self.stu_list.append(stu)# 1.4 提示print(f{name}学生信息已添加\n)删除学生信息defdel_student(self):# 提示用户输入要删除的学生姓名并接收del_nameinput(请输入您要删除的学生的姓名)# 遍历列表forstuinself.stu_list:ifstu.namedel_name:self.stu_list.remove(stu)print(f{del_name}学生信息已删除\n)breakelse:print(查无此人请检查后重新操作!\n)修改学生信息defupdate_student(self):# 提示用户输入要更改的学生姓名并接收update_nameinput(请输入您要更改的学生的姓名)forstuinself.stu_list:ifstu.nameupdate_name:# 提示用户输入要更改的信息stu.genderinput(请输入更改后的性别)stu.ageinput(请输入更改后的年龄)stu.phoneinput(请输入更改后的联系方式)stu.descinput(请输入更改后的其他信息)print(f{update_name}学生信息已更改\n)breakelse:print(查无此人请检查后重新操作!\n)查询单个学生信息defsearch_one(self):# 提示用户输入要查询的学生的姓名并接收search_nameinput(请输入您要查找的学生姓名)# 遍历列表forstuinself.stu_list:ifstu.namesearch_name:print(stu,end\n\n)breakelse:print(查无此人请检查后重新操作!\n)查询所有学生信息defsearch_all(self):# 判断列表长度是否为0提示暂无数据iflen(self.stu_list)0:print(暂无数据请先添加学生信息!\n)else:# 遍历列表输出所有学生信息forstuinself.stu_list:print(stu)补充列表推导式即遍历可迭代对象的每个元素按条件筛选后用表达式处理元素最终将结果打包成新列表语法结构# 仅循环[表达式for变量in可迭代对象]# 循环 条件判断[表达式for变量in可迭代对象if条件]# 多循环 多条件[表达式for变量1in可迭代对象1for变量2in可迭代对象2if条件1and条件2]例如循环 条件判断# 传统方式evens[]foriinrange(10):ifi%20:evens.append(i)# 推导式evens[iforiinrange(10)ifi%20]# 结果[0,2,4,6,8]多循环多条件多循环替代嵌套 for 循环语法上把外层循环写在前内层循环写在后逻辑与嵌套循环完全一致。# 传统嵌套循环combinations[]forxin[1,2,3]:foryin[a,b]:combinations.append((x,y))# 推导式combinations[(x,y)forxin[1,2,3]foryin[a,b]]# 结果[(1,a), (1,b), (2,a), (2,b), (3,a), (3,b)]多条件在表达式中加入 if-else实现 “不同条件处理不同元素”注意语法顺序表达式1 if 条件 else 表达式2。nums[1,2,3,4,5,6]# 偶数→偶奇数且3→奇大奇数且≤3→奇小result[偶ifn%20else(奇大ifn3else奇小)forninnums]# 结果[奇小, 偶, 奇小, 偶, 奇大, 偶]快捷键多行注释光标选中想要注释的所有代码ctrl/取消同理。多行代码左移或右移选中多行代码按 Shift Tab 键可以同时向左移动按 Tab 键可以同时向右移动。代码上移或者下移shift Alt ↑/↓
Python学习-学生管理系统
Python学习-学生管理系统基本需求实现学生类学生管理类补充列表推导式快捷键基本需求可以通过键盘输入信息完成基本操作例如选择序号确认退出添加学生、修改信息等学生属性信息有姓名、性别、年龄、联系方式、其他信息等使用系统可对学生信息进行添加、修改、删除、查询等操作可重复对学生进行增删查改操作当确认退出系统后则直接退出系统实现学生类定义一个学生类Student类中使用__init__()初始化学生属性类中使用__str__()方法输出对象信息classStudent:def__init__(self,name,gender,age,phone,desc): 初始化学生的属性信息包括姓名性别年龄联系方式其他信息等 :param name: 姓名 :param gender: 性别 :param age: 年龄 :param phone: 联系方式 :param desc: 其他信息 self.namename self.gendergender self.ageage self.phonephone self.descdesc# 打印对象信息def__str__(self): 打印学生信息 :return: returnf姓名:{self.name},性别:{self.gender},年龄:{self.age},联系方式:{self.phone},其他信息:{self.desc}if__name____main__:s1Student(圆圆,女,18,13562321111,班长喜欢跳舞)print(s1)学生管理类系统功能添加、删除、修改、查询学生信息显示所有学生信息保存学生信息退出系统。部分功能代码如下添加学生信息defadd_student(self):# 提示用户录入学生信息包括姓名性别年龄联系方式其他信息等并接收nameinput(请输入学生信息)genderinput(请输入学生性别)ageint(input(请输入学生年龄))phoneinput(请输入学生的联系方式)descinput(请输入学生的其他信息)# 1.2 把上述信息封装成学生对象stuStudent(name,gender,age,phone,desc)# 1.3 把学生对象添加到学生列表中self.stu_list.append(stu)# 1.4 提示print(f{name}学生信息已添加\n)删除学生信息defdel_student(self):# 提示用户输入要删除的学生姓名并接收del_nameinput(请输入您要删除的学生的姓名)# 遍历列表forstuinself.stu_list:ifstu.namedel_name:self.stu_list.remove(stu)print(f{del_name}学生信息已删除\n)breakelse:print(查无此人请检查后重新操作!\n)修改学生信息defupdate_student(self):# 提示用户输入要更改的学生姓名并接收update_nameinput(请输入您要更改的学生的姓名)forstuinself.stu_list:ifstu.nameupdate_name:# 提示用户输入要更改的信息stu.genderinput(请输入更改后的性别)stu.ageinput(请输入更改后的年龄)stu.phoneinput(请输入更改后的联系方式)stu.descinput(请输入更改后的其他信息)print(f{update_name}学生信息已更改\n)breakelse:print(查无此人请检查后重新操作!\n)查询单个学生信息defsearch_one(self):# 提示用户输入要查询的学生的姓名并接收search_nameinput(请输入您要查找的学生姓名)# 遍历列表forstuinself.stu_list:ifstu.namesearch_name:print(stu,end\n\n)breakelse:print(查无此人请检查后重新操作!\n)查询所有学生信息defsearch_all(self):# 判断列表长度是否为0提示暂无数据iflen(self.stu_list)0:print(暂无数据请先添加学生信息!\n)else:# 遍历列表输出所有学生信息forstuinself.stu_list:print(stu)补充列表推导式即遍历可迭代对象的每个元素按条件筛选后用表达式处理元素最终将结果打包成新列表语法结构# 仅循环[表达式for变量in可迭代对象]# 循环 条件判断[表达式for变量in可迭代对象if条件]# 多循环 多条件[表达式for变量1in可迭代对象1for变量2in可迭代对象2if条件1and条件2]例如循环 条件判断# 传统方式evens[]foriinrange(10):ifi%20:evens.append(i)# 推导式evens[iforiinrange(10)ifi%20]# 结果[0,2,4,6,8]多循环多条件多循环替代嵌套 for 循环语法上把外层循环写在前内层循环写在后逻辑与嵌套循环完全一致。# 传统嵌套循环combinations[]forxin[1,2,3]:foryin[a,b]:combinations.append((x,y))# 推导式combinations[(x,y)forxin[1,2,3]foryin[a,b]]# 结果[(1,a), (1,b), (2,a), (2,b), (3,a), (3,b)]多条件在表达式中加入 if-else实现 “不同条件处理不同元素”注意语法顺序表达式1 if 条件 else 表达式2。nums[1,2,3,4,5,6]# 偶数→偶奇数且3→奇大奇数且≤3→奇小result[偶ifn%20else(奇大ifn3else奇小)forninnums]# 结果[奇小, 偶, 奇小, 偶, 奇大, 偶]快捷键多行注释光标选中想要注释的所有代码ctrl/取消同理。多行代码左移或右移选中多行代码按 Shift Tab 键可以同时向左移动按 Tab 键可以同时向右移动。代码上移或者下移shift Alt ↑/↓