一小时学会Python3爬虫基础(学生管理系统)函数进阶强化

前言

这部分是为了强化之前所学函数内容,其实也是较为基础的函数应用案例!

学生管理系统

需求

首先,要先分析需求,系统要求能够实现这些功能:

  1. 添加学员信息
  2. 删除学员信息
  3. 修改学员信息
  4. 查询学员信息
  5. 显示全部信息
  6. 退出系统

交互

不过这些只是我们要实现的系统功能,那系统不单纯只有功能,肯定还需要“交互”,所以我们要分析怎么让功能与用户进行交互。

  1. 显示功能界面
  2. 用户选择功能 = 通过什么方式,执行什么的功能

代码实现

知道了需求和交互内容,现在就是怎么去写需求的功能,以及怎么做出一个界面。

现在进行步骤分析

  1. 显示功能界面
  2. 用户输入功能序列
  3. 根据用户输入的功能序号,执行不同的功能(函数)
    1. 定义函数
    2. 调用函数

1.显示功能界面

定义函数sys_info,负责显示系统功能。

def sys_info():
	print('-' * 20)
	print('欢迎登录学员管理理系统')
	print('1: 添加学员')
	print('2: 删除学员')
	print('3: 修改学员信息')
	print('4: 查询学员信息')
	print('5: 显示所有学员信息')
	print('6: 退出系统')
	print('-' * 20)

2.用户输⼊入序号,选择功能

user_num = input('请选择您需要的功能序号:')

3.用户输⼊入序号,选择功能

if user_num == '1':
	print('添加学员')
elif user_num == '2':
	print('删除学员')
elif user_num == '3':
	print('修改学员信息')
elif user_num == '4':
	print('查询学员信息')
elif user_num == '5':
	print('显示所有学员信息')
elif user_num == '6':
	print('退出系统')

确定了用户的功能交互的判断过程,在程序运行的过程中,根据实际需求调用相对应功能的代码。

  1. 用户选择的系统功能代码需要循环使用,直到用户自动退出系统。
  2. 如果用户输入1~6以外的数字,需要提示用户。
while True:
	# 1. 显示功能界⾯面
	sys_info()
	# 2. ⽤用户选择功能
	user_num = input('请选择您需要的功能序号:')
	# 3. 根据⽤用户选择,执⾏行行不不同的功能
	if user_num == '1':
		print('添加学员')
	elif user_num == '2':
		print('删除学员')
	elif user_num == '3':
		print('修改学员信息')
	elif user_num == '4':
		print('查询学员信息')
	elif user_num == '5':
		print('显示所有学员信息')
	elif user_num == '6':
		print('退出系统')
	else:
		print('输⼊入错误,请重新输⼊入!!!')

然后我们收集学生信息时,也要有个地方存储这些数据,这时候需要设置一个列表作为全局变量。

info = []

4. 功能函数定义
已经完成了 界面 和 用户交互的基础功能后,现在进入到实际的处理功能函数上。

  1. 添加学员函数
def add_info():
""" 添加学员 """
	# 接收⽤用户输⼊入学员信息
	new_id = input('请输⼊入学号:')
	new_name = input('请输⼊入姓名:')
	new_tel = input('请输⼊入⼿手机号:')
	# 声明info是全局变量量
	global info
	# 检测⽤用户输⼊入的姓名是否存在,存在则报错提示
	for i in info:
		if new_name == i['name']:
		print('该⽤用户已经存在!')
		return
# 如果⽤用户输⼊入的姓名不不存在,则添加该学员信息
info_dict = {}
# 将⽤用户输⼊入的数据追加到字典
info_dict['id'] = new_id
info_dict['name'] = new_name
info_dict['tel'] = new_tel
# 将这个学员的字典数据追加到列列表
info.append(info_dict)
print(info)
  1. 删除学员函数
def del_info():
""" 删除学员 """
	while True:
		del_id = int(input('请输⼊入要删除的学员学号:'))
		global info
		# 检查学员是否存在
		# 如果存在则删除列列表指定下标的数据
		if 0 <= del_id < len(info):
			del_flag = input('确定要删除吗?yes or no')
			if del_flag == 'yes':
				del info[del_id]
			print(info)
		# 删除了了⽬目标学员信息后退出循环
			break
		else:
			print('输⼊入学员有误,请重新输⼊入')
  1. 修改学员函数
def modify_info():
""" 修改学员信息 """
	while True:
	# ⽤用户输⼊入要修改的学员学号
		modify_num = int(input('请输⼊入要修改的学员学号:'))
		global info
	# 检查这个学员是否存在,存在则打印学员信息,并按⽤用户输⼊入修改
		if 0 <= modify_num < len(info):
			print(f'该学员学号是{info[modify_num]["id"]}, 姓名是{info[modify_num]["name"]}, ⼿手机号是{info[modify_num]["tel"]}')
			info[modify_num]["id"] = input('请输⼊入学号:')
			info[modify_num]["name"] = input('请输⼊入姓名:')
			info[modify_num]["tel"] = input('请输⼊入⼿手机号:')
			print(info)
			break
		else:
			print('输⼊入学员有误,请重新输⼊入')
  1. 查询学员函数
def search_info():
""" 查询学员信息 """
	search_name = input('请输⼊入要查找的学员姓名:')
	for i in info:
		if search_name == i['name']:
			print('*** 查询到信息如下 ***')
			print(f'该学员学号是{i["id"]}, 姓名是{i["name"]}, ⼿手机号是{i["tel"]}')
			break
	else:
		print('查⽆无此⼈人......')
  1. 显示所有函数
# 显示所有学员信息
def print_all():
""" 显示所有学员信息 """
	print('学号\t姓名\t⼿手机号')
	for i in info:
		print(f'{i["id"]}\t{i["name"]}\t{i["tel"]}')
  1. 退出
elif user_num == '6':
	exit_flag = input('确定要退出吗?yes or no')
	if exit_flag == 'yes':
		break

完整界面和功能

# 记得把上面定义的所有函数引入,不然代码不生效!

info = [] # 存储学生信息数据
while True:
	# 1. 显示功能界⾯面
	sys_info()
	# 2. ⽤用户选择功能
	user_num = input('请选择您需要的功能序号:')
	# 3. 根据⽤用户选择,执⾏行行不不同的功能
	if user_num == '1':
		add_info() 			# 添加学员函数
	elif user_num == '2':
		del_info()			# 添加函数
	elif user_num == '3':
		modify_info()		# 添加函数
	elif user_num == '4':
		search_info()		# 添加函数
	elif user_num == '5':
		print_all()			# 添加函数
	elif user_num == '6':
		exit_flag = input('确定要退出吗?yes or no')
			if exit_flag == 'yes':
				break	
	else:
		print('输⼊入错误,请重新输⼊入!!!')

总结

在这里插入图片描述

这部分就是函数进阶强化的内容,运用了之前学过的所有基础知识。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不世人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值