2024年最新Python大数据之Python基础【七】管理系统

print('4: 查询学员信息')
print('5: 遍历输出所有学员信息')
print('6: 退出系统')
print('-' \* 20)

def choose_option(num):
“”“分析要执行哪一项功能”“”
if num == ‘1’:
# 添加学员函数
add_student_info()
elif num == ‘2’:
# 删除学员函数
delete_student_info()
elif num == ‘3’:
# 修改学员函数
modify_student_info()
elif num == ‘4’:
# 查询学员函数
search_student_info()
elif num == ‘5’:
# 展示所有学员函数
show_students_info()
elif num == ‘6’:
# 退出程序函数
exit_program()
else:
print(‘无此选项,请重新输入’)

def add_student_info():
“”“添加学员信息”“”
# 1.用户输入学员信息
# 1.1当用户输入的id值已经存在时,则不让其继续输入,警告,该id已经存在
stu_id = input(‘请输入要添加学员的id:’)
# 获取students_list中所有学员的id值(推导式)
students_id = [i[‘id’] for i in students_list]
# 1.2 比对id是否存在,存在则不允许运行
if stu_id in students_id:
print(‘该id值已经存在,无法添加学员’)
else:
name = input(‘请输入要添加学员的姓名:’)
age = input(‘请输入要添加学员的年龄:’)
mobile = input(‘请输入要添加学员的手机号:’)
# 2.将学员信息添加到students_list当中
students_list.append({‘id’: stu_id, ‘name’: name, ‘age’: int(age), ‘mobile’: mobile})
print(‘学员添加完成’)

def delete_student_info():
“”“删除学员信息”“”
# 1.获取要删除学员的id值
stu_id = input(‘请输入要删除学员的id:’)
# 2.判断该学员是否存在,如果存在则删除该学员,如果不存在,则提示该学员不存在
for stu_info in students_list:
# 判断是否是要删除的学员
if stu_info[‘id’] == stu_id:
# 删除学员并跳出函数
students_list.remove(stu_info)
print(‘该学员已删除’)
return
else:
# 执行该命令警告用户没有该学员
print(‘该学员不存在,无法删除’)

def modify_student_info():
“”“修改学员信息”“”
# 1.输入要修改的学员的id值
stu_id = input(‘请输入您要修改学员的id:’)
# 2.如果学员存在就修改学员信息,如果不存在则进行提示,学员不存在
for stu_info in students_list:
if stu_info[‘id’] == stu_id:
# 学员信息修改
name = input(‘请输入您要修改为的名字:’)
age = input(‘请输入您要修改为的年龄’)
mobile = input(‘请输入您要修改为的手机号:’)
stu_info[‘name’] = name
stu_info[‘age’] = age
stu_info[‘mobile’] = mobile
print(‘学员信息修改完成’)
return
else:
print(‘该学员不存在,修改失败’)

def search_student_info():
“”“查询学员信息”“”
# 1.输入要查询学员的id值
stu_id = input(‘请输入要查询学员的id:’)
# 2.判断id值是否存在,如果存在则展示,如果不存在,则警告学员不存在
for stu_info in students_list:
if stu_info[‘id’] == stu_id:
print(
f’学员的学号是:{stu_info[“id”]}, 学员的姓名是:{stu_info[“name”]}, 学员的年龄是:{stu_info[“age”]}, 学员的手机号是:{stu_info[“mobile”]}')
return
else:
print(‘该学员不存在,查询失败’)

def show_students_info():
“”“展示所有学员信息”“”
for stu_info in students_list:
print(
f’学员的学号是:{stu_info[“id”]}, 学员的姓名是:{stu_info[“name”]}, 学员的年龄是:{stu_info[“age”]}, 学员的手机号是:{stu_info[“mobile”]}’
)

def exit_program():

# import sys

# # 退出当前程序,结束进程

# sys.exit()

exit()

def exit_program():
“”“结束程序”“”
# 通过控制变量结束死循环
global is_stop
# 在修改之前需要进行声明 ,修改的变量为全局变量
is_stop = True

# 展示功能界面

print_all_option()

# 引导用户输入功能序号,并获取序号

option = input(‘请输入您要执行功能的序号:’)

# 根据获取的序号分析要执行哪些功能

chose_option(option)

思考:学生管理系统,是不是需要输入6 才能退出 不然就一直询问您要输入的选项

这中情况下建议使用 while True 构造死循环

students_list = [
{‘id’: ‘001’, ‘name’: ‘xiaoming’, ‘age’: 18, ‘mobile’: ‘13833838338’},
{‘id’: ‘002’, ‘name’: ‘xiaohong’, ‘age’: 18, ‘mobile’: ‘13900000000’}
]
is_stop = False

while not is_stop:
# 展示功能界面
print_all_option()

# 引导用户输入功能序号,并获取序号
option = input('请输入您要执行功能的序号:')

# 根据获取的序号分析要执行哪些功能
choose_option(option)
# 方便展示,显示所有学员信息,开发完成后删除
# print(students\_list)
input()

死循环的退出方式有哪些?

break

return

exit()

控制变量


### 8、函数递归


* 函数内部调用函数本身
* 函数有明确的递归跳出条件
* 不超出最大调用深度



函数递归的三个必备条件

‘’’
1/函数体内部,调用函数本身
2/递归够明确的跳出条件
3/不能超出最大调用深度
‘’’

需求:

‘’’
func(1) = 1
func(2) = 1 + 2 = func(1) + 2
func(3) = 1 + 2 + 3 = func(2) + 3
func(4) = 1 + 2 + 3 + 4 = func(3) + 4

func(n) = 1 + 2 + 3 … + n = func(n-1) + n
‘’’

RecursionError: maximum recursion depth exceeded

这种方式无法跳出递归,所以在使用的时候就会无限递归下去

def func(n):

return func(n-1) + n

‘’’
func(1) = 1
func(2) = func(1) + 2
func(3) = func(2) + 3
func(4) = func(3) + 4

func(n) = func(n-1) + n
‘’’

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值