python 学生管理系统 (简易的学生管理系统其他系统适用,改掉输出的字符串即可)

本文详细介绍了如何使用Python设计并实现一个基本的学生管理系统,包括添加、删除、修改和查询学生信息的功能。系统采用字典存储学生数据,并通过列表管理所有学生记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学生管理系统

文件版的学生管理系统连接

https://blog.youkuaiyun.com/LanlanDeming/article/details/103429173

先说一下系统的构思吧~~~~

  1. 首先要用字典保存学生的信息
  2. 系统要包含增删改查这4个基本功能
  3. 在增删改查的时候应该先遍历一下系统中有没有该学生信息,有输出该生已经存在, 没有再做接下来的判断,期间要用到for循环和if…else判断语句
  4. 具体步骤如下
  • 搭建框架
  • 完成每个部分的代码
  • 添加学生:(假设名字唯一),通过input()获取学生的信息,将学生添加到字典中,再将学生添加到学生列表中,最后优化一下(添加学生之前,判断下学生是否存在)
  • 查看所有学生(for循环遍历学生列表)
  • 查看学生: 先判断学生是否存在,存在的话打印学生信息,不存在就直接返回
  • 删除学生: 先判断学生是否存在,存在删除学生 remive(stu),不存在的话直接返回
  • 修改学生: 还是先判断学生是否存在,存在修改学生(修改字典中的value值)不存在,结束返回
# 搭建框架
def show_menu():
	print('-----学生管理系统-----')
	print('1.添加学生')
	print('2.删除学生')
	print("3.修改学生")
	print("4.查询学生")
	print('5.查询所有学生')
	print('6.退出系统')


# 添加学生
def insert_student():
	"""添加学生"""
	# 获取学生信息
	name = input('请输入姓名')
	for stu in students_list:
		if stu['name'] == name:
			print('****该生已经存在****')
			return
	age = int(input("请输入年龄"))
	gender = input('请输入性别')
	# 将这个学生保存到一个字典中
	studet_dict = {'name': name, 'age': age,"gender": gender}
	# 将这个学生添加到学生列表中
	students_list.append(studet_dict)


# 查询所有的学生
def show_all():
	"""查询所有学生"""
	print("%-9s%-7s%s" % ("姓名", "年龄", "性别"))
	for stu in students_list:
		print(f"{stu['name']:11}{stu['age']:<8d}{stu['gender']}")


def search_student():
	"""查找学生"""
	name = input('请输入学生姓名')
	# for循环遍历学生列表
	for stu in students_list:
		# 判断学生是否存在学生列表
		if stu['name'] == name:
			print(f"{stu['name']:12}{stu['age']:<8d}{stu['gender']}")
			# 找到之后, 不需要遍历
			break
	else:
		print("****该生不存在****")


# 修改学生
def modify_student():
	"""修改学生"""
	name = input('请输入要修改的学生姓名')
	# for 循环遍历学生列表
	for stu in students_list:
		# 判断学生是否存在
		if stu['name'] == name:
			age = int(input('请输入新的年龄'))
			gender = input("请输入新的性别")
			# 修改学生列表中学生的 age 和 gender
			stu['age'] = age
			stu['gender'] = gender
			break
	else:
		print('****学生不存在****')


# 删除学生
def delete_student():
	"""删除学生"""
	name = input("请输入想要删除的学生姓名")
	# for 循环遍历学生列表
	for stu in students_list:
		# 判断学生是否在学生列表中存在
		if stu['name'] == name:
			# 删除学生
			students_list.remove(stu)
			print('删除成功')
			break
	else:
		print("****学生不存在****")


# 定义学生列表
students_list = []


# 循环目录
while True:
	show_menu()
	option = input('请输入要进行的操作编号')
	if option == '1':
		print("****添加学生****")
		insert_student()
	elif option == '2':
		print("****删除学生****")
		delete_student()
	elif option == '3':
		print('****修改学生****')
		modify_student()
	elif option == '4':
		print('****查询学生****')
		search_student()
	elif option == '5':
		print('****查询所有学生****')
		show_all()
	elif option == '6':
		print('****退出系统****')
		# 退出系统要终止本次 while 循环, 不然会死循环
		break
	else:
		print('!!!!输入有误,请重新再试!!!!')
			
		
### 基于 Python 和 Vue 的知识图谱问答系统架构 构建一个支持知识图谱的问答系统,可以分为前后端两部分:后端负责处理数据逻辑和知识图谱管理;前端则用于展示界面并接收用户的输入。以下是具体的技术方案: #### 后端设计 (Python) 1. **知识图谱的构建与存储** 使用 RDF 或 Neo4j 数据库作为知识图谱的核心存储工具[^1]。Neo4j 是一种图形数据库,非常适合用来表示实体及其关系。可以通过 Cypher 查询语言高效地检索节点之间的关联。 2. **自然语言理解模块** 利用 Python 中的 NLP 库(如 `spaCy` 或 `transformers`),解析用户提问中的意图和关键词。这一步骤的目标是从自由文本中提取结构化信息,以便后续匹配到知识图谱中的对应节点。 3. **API 接口开发** 采用 Flask 或 FastAPI 框架创建 RESTful API,供前端调用。这些接口应包括但不限于: - 用户登录/注册功能[^2] - 提问提交 - 结果返回 下面是一个简单的 Flask 路由示例: ```python from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/query', methods=['POST']) def query_knowledge_graph(): data = request.json question = data.get('question') # 这里应该加入实际的知识图谱查询逻辑 answer = f"Answer to '{question}'" return jsonify({'answer': answer}) if __name__ == '__main__': app.run(debug=True) ``` #### 前端设计 (Vue.js) 1. **页面布局** 设计简洁直观的 UI 页面,允许用户输入问题并显示答案。可考虑引入 Element Plus 组件库加速开发过程。 2. **AJAX 请求发送** 使用 Axios 发起 HTTP POST 请求至服务器上的 `/query` 地址获取解答。 示例代码如下所示: ```javascript async function submitQuestion() { const response = await axios.post('/query', { question: 'What is the capital of France?' }); console.log(response.data.answer); // 显示结果给用户看 } ``` 3. **用户体验优化** 添加加载动画,在等待服务响应期间告知用户状态;错误提示机制当网络请求失败时通知用户重试。 #### 整合流程 整个项目的工作流大致如下: - 用户通过 Vue 界面向后台传递一个问题字符串; - Python 后台接收到该字符串后执行一系列操作——先经由 NLP 技术分析语义再映射到 KG 上寻找确切答案最后封装成 JSON 返回; - 最终 Vue 将这个 JSON 解析出来呈现给最终使用者查看。 ### 注意事项 为了保证系统的稳定性和扩展性,请注意以下几点建议: - 定期更新和完善底层使用的KG模型使其更加精准可靠; - 对外部依赖项做好版本控制防止未来升级引起兼容性冲突; - 加强安全性措施比如对敏感字段加密传输以及验证身份合法性等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值