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

软工212-469-汤佳华 2023-春-学生 2023-06-06 22:08:56

Python编程的综合练习,涵盖了Python函数定义及使用、Lambda函数、递归函数、作用域等知识点:题目如下:

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

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

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

样例
输入:2 7

输出:9, -5, 14, 0.29

参考代码案例如下: 

def calculate(x, y):
    if y == 0:
        return None
    else:
        print(x + y, x - y, x * y, round(x / y, 2)


calculate(2, 7)


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

输入
一个列表和一个数n。

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

样例
输入:[2, 3, 5, 4, 2, 8, 4, 5, 6, ] 7

输出:[8]

参考代码 

a =[2, 3, 5, 4, 2, 8, 4, 5, 6, ]
b = 7
# filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
# 不使用filter的话会输出所有列表中的数字
c = filter(lambda x: x > b, a)
print(type(c))  # 这时c的类型是filter类型
print(list(c))  # 需要将c的类型转换为list类型输出


三、递归函数
题目描述
设计一个递归函数,输入一个正整数n,返回n的阶乘。

输入
一个正整数n。

输出
一个数,即n的阶乘。

样例
输入:10

输出:3628800

参考代码:

def factorial(a):
        if a != 1:
            return a * factorial(a - 1)
        else:
            return 1
 
a = 10
print(factorial(a))
 

...全文
19 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

163

社区成员

发帖
与我相关
我的任务
社区描述
软件工程老师
python 高校 江苏省·南通市
社区管理员
  • juking@ntu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧