diff --git a/学生信息系统.py b/学生信息系统.py new file mode 100644 index 0000000..b82c70c --- /dev/null +++ b/学生信息系统.py @@ -0,0 +1,85 @@ +#coding=utf-8 + +# 初始化存储学生信息的列表(元素为字典) +students = [] + +def add_student(): + """添加学生信息""" + print("\n===== 添加学生 =====") + student_id = input("请输入学号:") + # 检查学号是否重复 + for stu in students: + if stu["学号"] == student_id: + print("错误:该学号已存在!") + return#退出函数,不执行后面 + name = input("请输入姓名:") + age = input("请输入年龄:") + # 年龄简单校验 + if not age.isdigit():#是不是数字 + print("错误:年龄必须是数字!") + return + # 添加到列表 + students.append({ + "学号": student_id, + "姓名": name, + "年龄": int(age) + })#添加一个新元素 + print("添加成功!") + +def delete_student(): + """删除学生信息(按学号删除)""" + print("\n===== 删除学生 =====") + if not students:#空列表 + print("暂无学生信息,无法删除!") + return + student_id = input("请输入要删除的学生学号:") + # 查找并删除学生 + for i, stu in enumerate(students):#索引列表 + if stu["学号"] == student_id:#查找学号匹配的学生 + del students[i]#删除索引为i的元素 + print("删除成功!") + return + print("未找到该学号的学生!") + +def query_students(): + """查询所有学生信息""" + print("\n===== 查询学生 =====") + if not students: + print("暂无学生信息!") + return + # 格式化输出 + print(f"{'学号':<10}{'姓名':<10}{'年龄':<5}")#左对齐,占几个字符 + print("-" * 25)#打印分割线 + for stu in students: + print(f"{stu['学号']:<10}{stu['姓名']:<10}{stu['年龄']:<5}") + +def get_total_count(): + """统计学生总人数""" + print(f"\n当前学生总人数:{len(students)}") + +def main(): + """主菜单""" + while True:#无限循环 + print("\n===== 学生信息管理系统 =====")#标题 + print("1. 添加学生")#功能选项 + print("2. 删除学生") + print("3. 查询所有学生") + print("4. 统计总人数") + print("5. 退出系统") + choice = input("请选择功能(1-5):") + if choice == "1": + add_student() + elif choice == "2": + delete_student() + elif choice == "3": + query_students() + elif choice == "4": + get_total_count() + elif choice == "5": + print("退出系统,感谢使用!") + break#退出循环 + else: + print("输入错误,请选择1-5的数字!") +#只有直接运行这个文件时,代码才会执行 +if __name__ == "__main__": + main()#从这里执行