2023(春)Python程序设计作业3: 函数及应用

迷小鳞 迷小鳞 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

一 、函数定义及使用

题目描述

设计一个函数,输入两个参数x和y,返回它们的和、差、积、商(商保留两位小数)。如果y等于0,则返回None。

输入

两个数x和y,其中y不能为0。

输出

四个数,分别为x和y的和、差、积、商(保留两位小数)。

样例

输入:5 3

输出:8 2 15 1.67

代码如下:

def Calculate(a:float,b:float):
    if b==0:
        return None
    #用round函数实现对数字的四舍五入
    #也可以使用字符串格式化方法实现:"%.2f",但返回的是字符型,可以使用float方法将字符转为为浮点型
    return a+b,a-b,a*b,round(a/b,2),float("%.2f"%(a/b))

print(Calculate(5,3))

二、Lambda函数

题目描述

设计一个Lambda函数,输入一个列表和一个参数n,返回列表中所有大于n的数。

输入

一个列表和一个数n。

输出

一个列表,包含所有大于n的数。

样例

输入:[1, 3, 5, 7, 9, 11], 5

输出:[7, 9, 11]

代码如下:

def Lambda(li:list,n,m):
    #方式一
    if m==1:
        arr=[]
        for i in li:
            if i>n:
                arr.append(i)
        return arr
    #方式二
    if m==2:
        return list(filter(lambda i:i>n,li))

ar=[1, 3, 5, 7, 9, 11]
print(Lambda(ar,5,2))

三、递归函数

题目描述

设计一个递归函数,输入一个正整数n,返回n的阶乘。

输入

一个正整数n。

输出

一个数,即n的阶乘。

样例

输入:5

输出:120

代码如下:

def recursive(n):
    if n==1:
        return 1
    #这里必须要有一个返回值n,代表每次递归都有值来返回
    return n*recursive(n-1)
print(recursive(5))

 

...全文
评论
收藏 已收藏
分享
返回顶部