函数-函数应用

什么是函数

实战

题目要求:
定义两个函数
调用第一个函数可以录入学员
输入学员姓名,并将学员姓名添加到列表
调用第二个函数可以查询学员
输入学员姓名,可查询学员是否录入

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知识点

  1. 如何定义函数以及调用函数。
  2. 函数的参数传入。什么是形参、实参(其实分不清也不重要)
  3. 函数传入不定长参数。形参前加符号(*)可以让函数将多个变量作为元组传入
  4. 将列表作为不定长参数传入函数。在上述代码中new_names是一个列表,如果想加里面的元素作为不定长参数传入,则在传入时加(*),否则函数会直接将列表作为一个整体接收
  5. 函数的嵌套调用。在函数的内部代码块中使用了其他函数,则是在函数中嵌套调用了其他函数
  6. 函数的命名规范。
  7. 字符串忽略大小写的判断。使用str.lower()将大写一律转为小写
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值