什么是函数
略
实战
题目要求:
定义两个函数
调用第一个函数可以录入学员
输入学员姓名,并将学员姓名添加到列表
调用第二个函数可以查询学员
输入学员姓名,可查询学员是否录入
python代码
student_list = [] # 定义一个空学员列表
def student_enlist(*names):
'''将学员姓名添加到列表中'''
for name in names:
if name not in student_list: # 如果要添加的学员姓名没有在列表中才执行添加
student_list.append(name)
print('{} 学员已经成功录入!'.format(name))
else: # 要添加的学员姓名已经在列表中则提醒用户学员已在学员列表中
print('{} 学员已在学员列表!'.format(name))
def student_search():
'''查询学员姓名是否在列表中,如果不再可以选择是否添加到列表'''
name = input('请输入您要查询的学员姓名:')
if name in student_list:
print(f'{name} 学员已经录入')
else:
print(f"{name} 学员还未录入")
enlist = input("按任意键退出或输入OK后回车直接录入该学员:") # 若学员没有再列表中,人性化地添加一个让用户选择是否添加的功能
if 'ok' == enlist.lower():
student_enlist(name) # 调用添加学员的函数
else:
print(f"{name} 学员未录入")
def student_view():
'''查看学员列表'''
print(f'学员列表目前的学员有:{student_list}')
# 接下来是主程序部分,会在主程序中调用函数
while True: # 使用while循环让用户可以不停操作,直到用户选择退出
print('\n' + '*' * 20)
print('录入学员功能请输入1')
print('查询某个学员请输入2')
print('重看学员列表请输入3')
print('直接退出程序请输入4')
choice = int(input('请输入数字选择功能:')) # 用户输入不同的数字,选择不同的功能,程序调用不同的函数
print('*' * 20, '\n')
if choice == 1:
names = input('请输入您要添加的学员姓名(多个请用逗号隔开):') # 将用户输入的一个或多个名字保存在字符串names中
_names = names.replace(',', ',').replace(', ', ',') # 用户输入中文或者英文逗号隔开都是可以的,方便同时传入英文名和中文名
new_names = _names.split(',') # 将名字以逗号分隔,转为一个new_name列表
student_enlist(*new_names) # 使用*可以将列表转为不定长参数传入,如果不使用*则直接传入列表
elif choice == 2:
student_search() # 这里不传入参数,在函数内获得用户输入的内容,\也有更好的写法,比如使用不定长参数同时查询多个姓名
elif choice == 3:
student_view() # 直接看一下列表内容
elif choice == 4:
print('程序退出!')
break
else:
print('您的输入有误,请重新输入!')
python知识点
- 如何定义函数以及调用函数。
- 函数的参数传入。什么是形参、实参(其实分不清也不重要)
- 函数传入不定长参数。形参前加符号(*)可以让函数将多个变量作为元组传入
- 将列表作为不定长参数传入函数。在上述代码中new_names是一个列表,如果想加里面的元素作为不定长参数传入,则在传入时加(*),否则函数会直接将列表作为一个整体接收
- 函数的嵌套调用。在函数的内部代码块中使用了其他函数,则是在函数中嵌套调用了其他函数
- 函数的命名规范。
- 字符串忽略大小写的判断。使用str.lower()将大写一律转为小写