主要的步骤:
增删改查操作:
储存学生信息:
(姓名,年龄,班级,性别......)
储存所有的学生信息:
列表:[{},{},{}......]
5.功能菜单,业务框架。
搭建业务框架
添加学生
删除学生
修改学生信息
查询单个学生信息
查询所有学生信息
退出系统
请选择要进行的操作编号:
def show_menu():
print('1.添加学生')
print('2.删除学生')
print('3.修改学生信息')
print('4.查询单个学生信息')
print('5.查询所有的学生信息')
print('6.退出系统')
while True:
show_menu()
opt = input('选择要进行的标号:')
if opt == '1':
print('1.添加学生')
elif opt == '2':
print('2.删除学生')
elif opt == '3':
print('3.修改学生信息')
elif opt == '4':
print('4.查询单个学生信息')
elif opt == '4':
print('5.查询所有的学生信息')
elif opt == '6':
print('6.退出系统')
else:
print('输入有误,请重新输入')
continue
input('-----请按回车键在进行操作-------')
添加学生信息
通过input函数获取学生的信息,姓名,年龄,性别
将学生信息转换为字典进行保存
将这个学生字典添加的列表中
代码优化:假设学生的名字不重复,在添加学生的时候,进行判断,如果学生姓名已经存在,则比添加。
def show_menu():
print('1.添加学生')
print('2.删除学生')
print('3.修改学生信息')
print('4.查询单个学生信息')
print('5.查询所有的学生信息')
print('6.退出系统')
stud_list = []
def insert_studet():
# 通过input函数获取学生的信息,姓名,年龄,性别
name = input('输入学生姓名:')
for j in stud_list:
if j['name'] == name:
print('学生信息存在,不在添加')
return # 结束函数执行
age = input('输入学生年龄:')
gender = input('输入学生性别:')
# • 将学生信息转换为字典进行保存
stud_dict = {'name': name, 'age': age, 'gender': gender}
# • 将这个学生字典添加的列表中
stud_list.append(stud_dict)
print('------------学生信息添加成功-------------')
def show_all_stud():
if len(stud_list):
for i in stud_list:
print(f'姓名:{i["name"]},年龄:{i["age"]},性别:{i["gender"]}')
else:
print('目前没有学生信息')
while True:
show_menu()
opt = input('选择要进行的标号:')
if opt == '1':
print('1.添加学生')
insert_studet()
elif opt == '2':
print('2.删除学生')
elif opt == '3':
print('3.修改学生信息')
elif opt == '4':
print('4.查询单个学生信息')
elif opt == '5':
print('5.查询所有的学生信息')
show_all_stud()
elif opt == '6':
print('6.退出系统')
break
else:
print('输入有误,请重新输入')
continue
input('-----请按回车键在进行操作-------')
删除/修改/查询学生信息
都使用name对学生进行判断
使用input获取要删除/修改/查询的学生姓名
判断学生信息是否存在
学生存在,对学生进行 删除/修改/查询 操作
学生信息不存在,直接结束
完整代码进行编写完成:
def show_menu():
print('1.添加学生')
print('2.删除学生')
print('3.修改学生信息')
print('4.查询单个学生信息')
print('5.查询所有的学生信息')
print('6.退出系统')
stud_list = []
def insert_studet():
# 通过input函数获取学生的信息,姓名,年龄,性别
name = input('输入学生姓名:')
for j in stud_list:
if j['name'] == name:
print('学生信息存在,不在添加')
return # 结束函数执行
age = input('输入学生年龄:')
gender = input('输入学生性别:')
# • 将学生信息转换为字典进行保存
stud_dict = {'name': name, 'age': age, 'gender': gender}
# • 将这个学生字典添加的列表中
stud_list.append(stud_dict)
print('------------学生信息添加成功-------------')
def stud_remove():
# 使用input获取要删除/修改/查询 的学生姓名
name = input('输入学生名字')
for stud in stud_list:
# 判断学生信息是否存在
if name == stud['name']:
print('学生姓名存在')
# 学生信息存在,对学生进行 删除/修改/查询/操作
stud_list.remove(stud) # 删除整个字典
return
else:
print('该学生信息不存在,无法删除')
def stud_modify():
name = input('输入学生名字')
for stud in stud_list:
if name == stud['name']:
stud['age'] = int(input('输入新的年龄:'))
return
else:
print('该学生信息不存在,无法删除')
def stud_single():
name = input('输入查询学生姓名:')
for i in stud_list:
if name == i['name']:
print(i)
return
else:
print('没有查到此学生信息')
def show_all_stud():
if len(stud_list):
for i in stud_list:
print(f'姓名:{i["name"]},年龄:{i["age"]},性别:{i["gender"]}')
else:
print('目前没有学生信息')
def main():
while True:
show_menu()
opt = input('选择要进行的标号:')
if opt == '1':
print('1.添加学生')
insert_studet()
elif opt == '2':
print('2.删除学生')
stud_remove()
elif opt == '3':
stud_modify()
print('3.修改学生信息')
elif opt == '4':
print('4.查询单个学生信息')
stud_single()
elif opt == '5':
print('5.查询所有的学生信息')
show_all_stud()
elif opt == '6':
print('6.退出系统')
break
else:
print('输入有误,请重新输入')
continue
input('-----请按回车键在进行操作-------')
main()
1.文件进行保存
###---------------------学生管理系统-----------------
def show_menu():
print('1.添加学生')
print('2.删除学生')
print('3.修改学生信息')
print('4.查询单个学生信息')
print('5.查询所有的学生信息')
print('6.退出系统')
stud_list = []
def insert_studet():
# 通过input函数获取学生的信息,姓名,年龄,性别
name = input('输入学生姓名:')
for j in stud_list:
if j['name'] == name:
print('学生信息存在,不在添加')
return # 结束函数执行
age = input('输入学生年龄:')
gender = input('输入学生性别:')
# • 将学生信息转换为字典进行保存
stud_dict = {'name': name, 'age': age, 'gender': gender}
# • 将这个学生字典添加的列表中
stud_list.append(stud_dict)
print('------------学生信息添加成功-------------')
def stud_remove():
# 使用input获取要删除/修改/查询 的学生姓名
name = input('输入学生名字')
for stud in stud_list:
# 判断学生信息是否存在
if name == stud['name']:
print('学生姓名存在')
# 学生信息存在,对学生进行 删除/修改/查询/操作
stud_list.remove(stud) # 删除整个字典
return
else:
print('该学生信息不存在,无法删除')
def stud_modify():
name = input('输入学生名字')
for stud in stud_list:
if name == stud['name']:
stud['age'] = int(input('输入新的年龄:'))
return
else:
print('该学生信息不存在,无法删除')
def stud_single():
name = input('输入查询学生姓名:')
for i in stud_list:
if name == i['name']:
print(i)
return
else:
print('没有查到此学生信息')
def show_all_stud():
if len(stud_list):
for i in stud_list:
print(f'姓名:{i["name"]},年龄:{i["age"]},性别:{i["gender"]}')
else:
print('目前没有学生信息')
def save():
f = open('student.txt', 'w')
f.write(str(stud_list))
f.close() #文件保存方法
def main():
while True:
show_menu()
opt = input('选择要进行的标号:')
if opt == '1':
print('1.添加学生')
insert_studet()
elif opt == '2':
print('2.删除学生')
stud_remove()
elif opt == '3':
stud_modify()
print('3.修改学生信息')
elif opt == '4':
print('4.查询单个学生信息')
stud_single()
elif opt == '5':
print('5.查询所有的学生信息')
show_all_stud()
elif opt == '6':
save()
print('6.退出系统')
break
else:
print('输入有误,请重新输入')
continue
input('-----请按回车键在进行操作-------')
main()
文件进行读取
进行优化
###---------------------学生管理系统-----------------
import os
def show_menu():
print('1.添加学生')
print('2.删除学生')
print('3.修改学生信息')
print('4.查询单个学生信息')
print('5.查询所有的学生信息')
print('6.退出系统')
stud_list = []
def insert_studet():
# 通过input函数获取学生的信息,姓名,年龄,性别
name = input('输入学生姓名:')
for j in stud_list:
if j['name'] == name:
print('学生信息存在,不在添加')
return # 结束函数执行
age = input('输入学生年龄:')
gender = input('输入学生性别:')
# • 将学生信息转换为字典进行保存
stud_dict = {'name': name, 'age': age, 'gender': gender}
# • 将这个学生字典添加的列表中
stud_list.append(stud_dict)
print('------------学生信息添加成功-------------')
def stud_remove():
# 使用input获取要删除/修改/查询 的学生姓名
name = input('输入学生名字')
for stud in stud_list:
# 判断学生信息是否存在
if name == stud['name']:
print('学生姓名存在')
# 学生信息存在,对学生进行 删除/修改/查询/操作
stud_list.remove(stud) # 删除整个字典
return
else:
print('该学生信息不存在,无法删除')
def stud_modify():
name = input('输入学生名字')
for stud in stud_list:
if name == stud['name']:
stud['age'] = int(input('输入新的年龄:'))
return
else:
print('该学生信息不存在,无法删除')
def stud_single():
name = input('输入查询学生姓名:')
for i in stud_list:
if name == i['name']:
print(i)
return
else:
print('没有查到此学生信息')
def show_all_stud():
if len(stud_list):
for i in stud_list:
print(f'姓名:{i["name"]},年龄:{i["age"]},性别:{i["gender"]}')
else:
print('目前没有学生信息')
def save():
f = open('student.txt', 'w')
f.write(str(stud_list))
f.close() # 文件保存方法
def read(): # 读取文件
global stud_list
if os.path.exists('student.txt'):
f = open('student.txt', 'r', encoding='utf-8')
buf = f.read()
if buf:
stud_list = eval(buf) # eval()去除引号
f.close()
def main():
while True:
show_menu()
opt = input('选择要进行的标号:')
if opt == '1':
print('1.添加学生')
insert_studet()
elif opt == '2':
print('2.删除学生')
stud_remove()
elif opt == '3':
stud_modify()
print('3.修改学生信息')
elif opt == '4':
print('4.查询单个学生信息')
stud_single()
elif opt == '5':
print('5.查询所有的学生信息')
show_all_stud()
elif opt == '6':
save()
print('6.退出系统')
break
else:
print('输入有误,请重新输入')
continue
input('-----请按回车键在进行操作-------')
main()
这次的学生管理系统详细编写,大家可以看看!!!
如有错误,大家可以纠正!!!
#----------------python函数补充内容---------
注意:跟上面的学生管理系统无关!!!纯属补充内容!!!
def func(*args, **kwargs):
print('args', args)
print('kwargs', kwargs)
num = 0
for i in args:
num += i
for j in kwargs.values():
num += j
print(f'求和结果为{num}')
my_list = [1, 2, 3, 4, 5, 6]
my_dict = {'a': 7, 'b': 8, 'c': 9, 'd': 10}
# func(my_list) # 将列表作为一个数据进行传递
# func(*my_list) # 将列表中的每个数据作为位置参数进行传递,拆包
func(my_dict) # 将my_dict 作为一个位置实参进行传递
func(*my_dict) # 将my_dict 中的key作为位置实参进行传递
func(**my_dict) # 将my_dict中键值对作为关键字实参进行传递