2022python版学生管理系统

本文介绍了如何使用Python开发一个学生管理系统,包括主界面设计、添加、删除和显示学生信息、错误提示以及退出系统等功能。通过将各个部分组合,实现了一个简单易用的学生信息管理平台。

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

作业要求

学生管理系统是一个非常常见的作业项目,虽然并不困难,而且之前也有很多人做过了。该功能想要详细的完成,也并非易事,以下是我的分享。

在我的设计中,学生管理系统可能要包括这样的基础功能。

1,学生管理系统的主界面

2,学生的添加

3,学生的查找

4,学生的删除

5,学生信息的修改

6,输入错误指令的提示

7,退出管理系统

我们可以将这几部分的功能分别实现,共同组成一个完整的系统。

主界面

这一部分应该包括学生管理系统的查看,指令的提示

# 程序制作q群:563267559
def student_system():
    print("\n" * 20)
    print("  ================================================================")
    print("  ------------------------ 学生信息管理系统 ------------------------")
    print("  ----------------------------------------------------------------")
    print("  - 1. 添加学生信息")    
    print("  - 2. 删除学生信息")
    print("  - 3. 修改学生信息")
    print("  - 4. 查找学生信息")
    print("  - 5. 显示学生信息")
    print("  - 6. 退出系统")
    num = input("输入您所需要使用的指令:")
    print("  ===============================================================")
    return int(num)

这里可能会有疑问,为什么要直接在这里将分割符输入,而非使用循环或者其他方式呢?事实上,对于简单的分割符,如果一定要使用循环或者其他的方式,反而更加的麻烦,不如像现在这样直接添加在上边。

添加学生

def add_student():
    stus = []
    while True:
        title()
		print("  ----------------------- 《添加学生信息》 -----------------------")
		print("  ----------------------------------------------------------------")
		name = input("  请输入新学生的姓名:")
		phone = input("  请输入新学生的sj号:")
		wx = input("  请输入新学生的wx号:")

		stu = {
			"name": name,
			"phone": phone,
			"wx": wx
		}
		stus.append(stu)  

		num = input("  是否继续添加学生?(y/n)")

		if num == "n":
			print("  ================================================================")
			print("  --------------------- 《当前添加的学生信息》 ---------------------")
			print("  ----------------------------------------------------------------")
			print("  姓名\tsj号\twx号")
			print("  ----------------------------------------------------------------")

			for stu in stus:
				print("  %s\t%s\t%s" % (stu["name"], stu["phone"], stu["wx"]))

			print("  ----------------------------------------------------------------")

			add_file(stus)
			stus = []
			break
		elif num == "y":
			continue
		else:
			error()
            

删除学生

def delete():
	stus = []
	while True:
		title()  
		print("  ----------------------- 《删除学生信息》 -----------------------")
		print("  ----------------------------------------------------------------")
		name = input("  请输入要删除的学生姓名:")
		flag = delFile(name)
		if flag:
			print(f"  学生“{name}”信息删除成功!")
		else:
			print(f"  学生“{name}”信息删除失败!")
		num = input("  是否继续删除学生?(y/n)")

		if num == "n":
			break
		elif num == "y":
			continue
		else:
			error() 

显示所有学生

def showall():
	fileName = 'stu.txt'
	content = ''
	with open(fileName, mode='r', encoding='utf-8') as fileObj:
		while True:
			contents = fileObj.readlines()
			if not contents:
				print('  目前没有任何学生的信息记录!')
				print('  ----------------------------------------------------------------')
				input('  请按任意键继续!')
				break
			else:
				print('  ---------------------- 《当前的学生信息》 ----------------------')
				print('  ----------------------------------------------------------------')
				print('  \t姓名\t\tsj号\t\twx号')
				print('  ----------------------------------------------------------------')
				for content in contents:
					items = content.split(',')
					stu = '\t'
					for item in items:
						stu += item.split(':')[1]
						stu += '\t\t'
					stu = stu[0:-4]
					print(f'  {stu}')
				print('  ----------------------------------------------------------------')
				input('  请按任意键返回主菜单!')
				break

错误信息提示

def error_message():
    print("  您输入的指令不存在,请重新输入!")
    input("  请按任意键继续!")

退出系统

def quit():
    num = input("  您真的要退出系统吗?(y/n)")
    if num == "y":
        print("  ===============================================================")
        print("  成功退出,信息已经记录,下次再见!")
        print("  ===============================================================")
        

总结

可以看到,只要将这几个部分组合在一起,就可以完成一个完整的学生信息管理系统了,相对来说也并非很困难。如果你有什么见解,欢迎在评论区指出,或者通过q群563267559参与讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值