Python实现学生信息管理
#!/usr/bin/env python# -*- coding: utf-8 -*-# 学生信息 姓名,性别class Student():"""用于创建学生对象"""def __init__(self, name, gender, *args, **kwargs):self.name = nameself.gender = ...
·
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 学生信息 姓名,性别
class Student():
"""用于创建学生对象"""
def __init__(self, name, gender, *args, **kwargs):
self.name = name
self.gender = gender
stu_li = [] # 用于存储学生对象
def add_student(name, gender):
"""用于添加学生信息"""
if not all([name, gender]):
return "输入信息无效,请重新输入"
else:
stu_li.append(Student(name, gender))
return "添加学生成功"
def show_all():
"""显示全部学生的信息"""
if not stu_li:
return "无学生信息!"
for stu in stu_li:
num = stu_li.index(stu) + 1
print("{} {} {}".format(num, stu.name, stu.gender))
return "学生信息,已全部显示!"
def del_student(stu_num):
"""删除学生信息(对象)"""
if not stu_li:
return "无学生信息!"
else:
try:
del stu_li[int(stu_num) - 1]
except Exception as e:
return "学生编号信息有误!"
return "删除成功!"
def modify_stu_info(stu_num, name, gender):
"""修改学生信息"""
if not stu_li:
return "无学生信息!"
else:
try:
stu = stu_li[int(stu_num) - 1]
except Exception as e:
return "学生编号信息有误!"
else:
if name:
stu.name = name
if gender:
stu.gender = gender
return "操作成功"
def save_data():
"""保存学生信息"""
if not stu_li:
return
str_info = ""
for stu in stu_li:
num = stu_li.index(stu) + 1
info = "{} {} {} \n".format(num, stu.name, stu.gender)
str_info += info
file = open("Students_Info.txt", "w")
file.write(str_info)
file.close()
def get_stu_info():
"""初次启动程序时,从txt文本中获取学生信息,构建学生对象,存储在stu_li列表中"""
file = None
try:
file = open("Students_Info.txt", "r")
except Exception as e:
return
else:
content = file.read()
info_li = content.split("\n")
info_li.remove('')
for i in info_li:
stu_info_li = i.split(' ')
name = stu_info_li[1]
gender = stu_info_li[2]
stu_li.append(Student(name, gender))
file.close()
if __name__ == '__main__':
get_stu_info()
while True:
print("=" * 20 + "\n" +
"学生信息管理系统V1.0\n"
"1.添加学生信息\n"
"2.删除学生信息\n"
"3.修改学生信息\n"
"4.显示所有学生信息\n"
"5.退出系统\n" +
"=" * 20)
num = input("请输入选项:")
if num == "1":
name = input("请输入姓名:")
gender = input("请输入性别:")
result = add_student(name, gender)
print(result)
elif num == "2":
stu_num = input("请输入学生编号:")
result = del_student(stu_num)
print(result)
elif num == "3":
stu_num = input("请输入学生编号:")
name = input("请输入姓名(不输入默认不修改):")
gender = input("请输入性别(不输入默认不修改):")
result = modify_stu_info(stu_num, name, gender)
print(result)
elif num == "4":
result = show_all()
print(result)
elif num == "5":
save_data()
print("再见!")
break
else:
print("选项无效,请重新输入!")
更多推荐
所有评论(0)