python实验三 函数的应用

目录

实验目的:

实验任务:

实验步骤:

参考代码:


实验目的:

  • 掌握函数的定义和调用方法;
  • 熟悉函数参数的传递;
  • 理解变量作用域,掌握局部变量和全局变量的用法;
  • 掌握递归函数和匿名函数的用法

实验任务:

  1. 编写一个名为 is_prime()的函数,它有一个名为 number 的参数,如果参数是素数,那么 is_prime()就打印出 True;否则,is_prime()就打印 False。使用不同的参数调用该函数并查看结果。
  2. 编写一个函数 calculate,该函数接收任意多个数,并返回一个元组。元组的第一个值为所有参数的平均值,第二个值是大于平均值的所有数。
  3. 为用户创建个人简介。使用全局变量定义职业为学生;编写一个函数build_profile,该函数包含用户的姓、名、年龄(默认 21 岁)和其他个人信息。调用该函数,请根据自身情况填写实参姓名、年龄和其他感兴趣的个人信息,并打印输出。
  4. 递归函数。F1=F2=1,Fn=Fn-1+Fn-2,求第 n 项斐波那契值?
  5. 匿名函数。使用匿名函数计算立方。

实验步骤:

  1. 创建一个项目 python3,向其中添加一个 python 文件 python3_1.py。首先, 定义一个函数 is_prime,该函数包含一个参数 number,该函数的功能是,如果number 是素数,则打印 True,否则,打印 False;然后,多次调用该函数,查看使用不同参数调用该函数得到的结果。
  2. 在项目 python3 中新建文件 python3_2.py。首先,定义一个函数 calculate, 该函数包含一个形参*args,可接受任意数量的位置实参;然后,在该函数中计算所有形参的平均值,并定义一个列表 li,使用 for 循环判断每个形参是否大于平均值,如果大于平均值,则使用 append()加入到列表 li 中,返回平均值和列表 li;最后,调用 calculate 函数,给定任意个数字作为实参,运行并查看结果。
  3. 在项目 python3 中新建文件 python3_3.py。首先,定义一个全局变量occupation 表示职业,并赋值 student;然后,定义函数 build_profile,该函数包含参数姓、名、年龄(默认 21 岁),其他个人信息**user_info(如位置、专业等);在函数中,将姓、名、职业、年龄加入字典 user_info 中,并返回该字典;调用函数,自定义赋值,并打印输出结果。
  4. 在项目 python3 中新建文件 python3_4.py。首先,定义一个函数 fib,包含一个参数 n,如果 n=1 或 2,返回 1,否则,返回 fib(n-1)+fib(n-2);最后,调用fib,参数设置为 n,查看返回结果。
  5. 在项目 python3 中新建文件 python3_5.py。首先,使用 lambda 定义一个匿名函数 cubic,作用是求 x 的立方;然后调用 cubic,打印结果。

参考代码:

#python3_1
def is_prime(number):
    if number<2:
        print("Flase")
    elif number==2:
        print("True")
    else:
        for i in range(2,number):
            if number%i==0:
                print("Flase")
                break
            else:
                print("True")
                break
for i in range(3):
    n=int(input("n="))
    is_prime(n)
#python3_2
def calculate(*args):
    s=0
    for i in args:
        s=s+i
    e= s / len(args)
    li=[]
    for i in args:
        if i>e:
            li.append(i)
    return e,li
print(calculate(1,2,3,4,5))
#python3_3
occupation='student'
def  build_profile(xing,ming,age=21,**user_info):
    user_info["姓"]=xing
    user_info["名"] = ming
    user_info["年龄"] = age
    user_info["职业"] = occupation
    return user_info
print(build_profile("张","三",19,位置="山西大学",专业="大数据"))
#python3_4
def fib(n):
    if n==1 or n==2:
        return 1
    else:
        return fib(n - 1) + fib(n - 2)
print(fib(6))
#python3_5
cubic=lambda x:x**3
print( cubic(x=int(input("x="))))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值