用python实现一个简单的学生信息管理系统

class Student(object):
	student_num = 0

	def add_student(self, student_info):
		with open('student.txt', 'a') as file:
			file.write(student_info + '\n')
			return '添加成功'

	def get_student_info(self, student_num):
		with open('student.txt', 'r') as file:
			lines = file.readlines()
			for line in lines:
				if student_num == line[0:5]:
					result = line
					break
			else:
				result = '学号不存在'
			return result

	def get_all_students_info(self):
		with open('student.txt', 'r') as file:
			result = file.read()
			return result

	def del_student(self, student_num):
		if not self.is_student_exists(student_num):
			return '该账号不存在'
		with open('student.txt', 'r') as file:
			lines = file.readlines()
		with open('student.txt', 'w') as file:
			for line in lines:
				if student_num == line[0:5]:
					continue
				file.write(line)
		return '删除成功'

	def edit_student(self, student_num):
		if not self.is_student_exists(student_num):
			return '该账号不存在'
		with open('student.txt', 'r') as file:
			lines = file.readlines()
		with open('student.txt', 'w') as file:
			for line in lines:
				if student_num == line[0:5]:
					name = input('请输入要录入的学生姓名:')
					gender = input('请输入学生的性别:')
					phone = input('请输入学生的手机号:')
					student_info = ','.join([student_num, name, gender, phone])
					file.write(student_info + '\n')
				else:
					file.write(line)
			return '修改成功'

	def is_student_exists(self, student_num):
		with open('student.txt', 'r') as file:
			lines = file.readlines()
			for line in lines:
				if line[0:5] == student_num:
					return True
				else:
					return False

	@property
	def creat_student_number(self):
		if self.student_num == 0:
			try:
				with open('student.txt', 'r') as file:
					lines = file.readlines()
					last_line = lines[-1]
				if last_line:
					self.student_num = int(last_line.split(',')[0]) + 1
				else:
					self.student_num = 10001
			except:
				self.student_num = 10001
			return str(self.student_num)
		else:
			self.student_num += 1
			return str(self.student_num)


def menu_show():
	print('''
	--------------------------------------------
	- 学生管理系统 V1.0
	
	- 1.添加学生
	- 2.查询学生
	- 3.显示所有学生
	- 4.删除学生
	- 5.修改学生
	- 0.退出系统
	--------------------------------------------
	''')


def main():
	student = Student()
	menu_show()
	while True:
		try:
			number = int(input('请按照提示输入您要执行操作的序号:'))
		except:
			print('请输入正确的序号')
		else:
			if number == 0:
				print('退出成功')
				break
			elif number == 1:
				student_num = student.creat_student_number
				name = input('请输入要录入的学生姓名:')
				gender = input('请输入学生的性别:')
				phone = input('请输入学生的手机号:')
				student_info = ','.join([student_num, name, gender, phone])
				result = student.add_student(student_info)
				print(result)
			elif number == 2:
				student_num = input('请输入要查询学生的学号:')
				result = student.get_student_info(student_num)
				print(result)
			elif number == 3:
				result = student.get_all_students_info()
				print(result)
			elif number == 4:
				student_num = input('请输入要删除学生的学号:')
				confirm = input('确认删除请输入Y/YES:')
				if confirm == 'Y' or confirm == 'YES':
					result = student.del_student(student_num)
					print(result)
				else:
					print('取消删除操作')

			elif number == 5:
				student_num = input('请输入要修改学生的学号:')
				result = student.edit_student(student_num)
				print(result)
			else:
				print('请输入正确的序号')
				continue


if __name__ == '__main__':
	main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值