162
社区成员




设计一个函数,输入两个参数x和y,返回它们的和、差、积、商(商保留两位小数)。如果y等于0,则返回None。
两个数x和y,其中y不能为0。
四个数,分别为x和y的和、差、积、商(保留两位小数)。
输入:5 3
输出:8 2 15 1.67
参考代码案例如下:
def calculate(x, y):
if y == 0:
return None
else:
return x + y, x - y, x * y, round(x / y, 2)
x, y = 5, 3
print(calculate(x, y))
可以定义一个名为calculate的函数,代码如下:
def calculate(x, y):
if y == 0:
return None
else:
return x + y, x - y, x * y, round(x / y, 2)
该函数先判断y是否为0,如为0则返回None,否则返回由四个值(x和y的和、差、积和商)组成的元组。
接着,可以输入两个数x和y,并调用calculate函数来计算它们的和、差、积和商。示例代码如下:
x, y = 6, 4
result = calculate(x, y)
if result is not None:
print("{:.2f} {:.2f} {:.2f} {:.2f}".format(*result))
else:
print("y不能为0")
以上代码中,设置x和y的值为5和3,然后调用calculate函数将它们的和、差、积和商计算出来,并赋值给变量result。
最后,判断result是否为None(即y是否等于0),如果不为None则输出四个计算结果并保留两位小数,否则输出“y不能为0”。
输入 6,4
输出10 2 24 1.5
设计一个Lambda函数,输入一个列表和一个参数n,返回列表中所有大于n的数。
一个列表和一个数n。
一个列表,包含所有大于n的数。
输入:[1, 3, 5, 7, 9, 11], 5
输出:[7, 9, 11]
参考代码
numbers = [1, 3, 5, 7, 9, 11]
n = 5
greater_than_n = list(filter(lambda x: x > n, numbers))
print(greater_than_n)
可以使用Lambda函数配合filter函数实现:
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
n = 5
res = list(filter(lambda x: x > n, lst))
print(res)
以上代码中,定义了一个列表lst和一个参数n。然后使用Lambda函数,筛选出lst中所有大于n的数,最后使用list函数将结果转换为列表并输出。运行结果如下:
[6, 7, 8, 9]
设计一个递归函数,输入一个正整数n,返回n的阶乘。
一个正整数n。
一个数,即n的阶乘。
输入:5
输出:120
参考代码:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)
n = 5
print(factorial(n))
答
def factorial(n):
if n == 1: return 1
else:
return n * factorial(n-1)
n = 5
result = factorial(n)
print(result)
结果:120