这是一个python基于集合列表实现的学生管理系统增删改查功能期中考试的作业,大家有需要可以自取。自己改改 增删改查函数里边的内容即可~~~
不罗嗦,直接上最终实现的效果
本篇文章为基础文章,大佬可以直接略过!!!避免浪费时间哈!~~~
相关代码:
u = "admin"
p = "123456"
.....
if input("账号:") == u and input("密码:") == p:
这个就是简单的判断以下输入的账号密码是否与我们系统定义的代码相同。
以下操作以小白为例。
students = [] # 用于存放学生对象
def initdata():
for x in range(1, 10):
name = f"老{x}"
sex = ""
if x % 2 == 0:
sex = "男"
else:
sex = "女"
age = randint(18, 25)
student = {"姓名": name, "性别": sex, "年龄": age}
students.append(student)
以上代码未来方便测试系统的各种用例,所以我用for循环生成了十个默认用户信息
相关代码
def add_student():
name = input("请输入姓名: ")
age = input("请输入年龄: ")
gender = input("请输入性别: ")
student = {"姓名": name, "年龄": age, "性别": gender}
students.append(student)
print("成功")
这里我们调用了append()方法,将学生对象存入了列表里边。
相关代码
def modify_student():
name = input("请输入要修改姓名: ")
for student in students:
if student["姓名"] == name:
print("1. 修改姓名")
print("2. 修改年龄")
print("3. 修改性别")
menu = input("请选择要修改: ")
if menu == "1":
new_name = input("请输入新姓名: ")
student["姓名"] = new_name
elif menu == "2":
new_age = input("请输入新年龄: ")
student["年龄"] = new_age
elif menu == "3":
new_gender = input("请输入新性别: ")
student["性别"] = new_gender
print("成功")
return
print("未找到")
这个代码,使用了for迭代students列表里边的每一个学生对象,并通过student["姓名"]取出指定对象的值与我们查找的学生name进行匹配,如果匹配那么进入修改选项,
这里的修改思路,说白了就是重新赋值字典键值对。
相关代码:
def search_student():
name = input("请输入姓名: ")
for student in students:
if student["姓名"] == name:
print("姓名:", student["姓名"])
print("年龄:", student["年龄"])
print("性别:", student["性别"])
return
print("未找到")
这个思路与,修改信息的思路一致。
首先遍历列表每一个学生对象,并通过键名取出字典的值。进行判断。。。。如果成立那么直接通过student键名取出值。
可以把迭代因子student看作为:{'姓名': '小白', '年龄': '18', '性别': '男'}
student = {'姓名': '小白', '年龄': '18', '性别': '男'}
student["姓名"]得到小白 就是键值对取值嘛
上代码:
def delete_student():
name = input("请输入要删除姓名: ")
for student in students:
if student["姓名"] == name:
students.remove(student)
print("成功")
return
print("未找到")
判断思路与上面的一致。
这里使用了remove()函数,直接将对象移出列表
还有一个clean() 可以用来实现,一键删除所有学生。的功能。
elif menu == "5":
print("安全退出")
break
直接break就行。。。
# Cat00011cat
# http://thecat.top
# 管理系统
from random import randint
students = []
u = "admin"
p = "123456"
def initdata():
for x in range(1, 10):
name = f"老{x}"
sex = ""
if x % 2 == 0:
sex = "男"
else:
sex = "女"
age = randint(18, 25)
student = {"姓名": name, "性别": sex, "年龄": age}
students.append(student)
def add_student():
name = input("请输入姓名: ")
age = input("请输入年龄: ")
gender = input("请输入性别: ")
student = {"姓名": name, "年龄": age, "性别": gender}
students.append(student)
print("成功")
def delete_student():
name = input("请输入要删除姓名: ")
for student in students:
if student["姓名"] == name:
students.remove(student)
print("成功")
return
print("未找到")
def modify_student():
name = input("请输入要修改姓名: ")
for student in students:
if student["姓名"] == name:
print("1. 修改姓名")
print("2. 修改年龄")
print("3. 修改性别")
menu = input("请选择要修改: ")
if menu == "1":
new_name = input("请输入新姓名: ")
student["姓名"] = new_name
elif menu == "2":
new_age = input("请输入新年龄: ")
student["年龄"] = new_age
elif menu == "3":
new_gender = input("请输入新性别: ")
student["性别"] = new_gender
print("成功")
return
print("未找到")
def search_student():
name = input("请输入姓名: ")
for student in students:
if student["姓名"] == name:
print("姓名:", student["姓名"])
print("年龄:", student["年龄"])
print("性别:", student["性别"])
return
print("未找到")
def main():
while True:
print("\n"+"="*10+"未命名系统"+"="*10)
print(f"登录成功,欢迎 {u} ")
print("1. 添加")
print("2. 删除")
print("3. 修改")
print("4. 查询")
print("5. 退出")
for stu in students:
print(stu)
menu = input("请选择: ")
if menu == "1":
add_student()
elif menu == "2":
delete_student()
elif menu == "3":
modify_student()
elif menu == "4":
search_student()
elif menu == "5":
print("安全退出")
break
else:
print("搞什么飞机~~~")
if __name__ == "__main__":
print("登录系统管理系统")
if input("账号:") == u and input("密码:") == p:
initdata()
students.append({"姓名": "白菜", "性别": "男", "年龄": 18})
main()
else:
print("账号或密码错误")
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。