162
社区成员




1. 在自己的Python编程环境里,编程实现上述三道练习题,最好和参考答案代码不一样。
2. 测试运行你自己编写的代码和参考答案代码。
3. 如果测试运行时候,你的代码出现Bug,分析原因并调试代码。
设计一个函数,输入两个参数x和y,返回它们的和、差、积、商(商保留两位小数)。如果y等于0,则返回None。
两个数x和y,其中y不能为0。
四个数,分别为x和y的和、差、积、商(保留两位小数)。
输入:5 3
输出:8 2 15 1.67
def arithmetic_operations(x, y):
if y == 0:
return None
sum = x + y
difference = x - y
product = x * y
quotient = round(x / y, 2)
return sum, difference, product, quotient
result = arithmetic_operations(5, 3)
print(result)
这个函数与之前的函数相比,只是将 if-else 语句移到了函数的开头,这样可以减少代码的缩进层数。当 y 等于 0 时,它会直接返回 None,否则计算和、差、积和商,并将它们作为元组返回,可以像之前一样调用这个函数 。
设计一个Lambda函数,输入一个列表和一个参数n,返回列表中所有大于n的数。
一个列表和一个数n。
一个列表,包含所有大于n的数。
输入:[1, 3, 5, 7, 9, 11], 5
输出:[7, 9, 11]
greater_than_n = lambda lst, n: [x for x in lst if x > n]
lst = [1,3,5,7,9,11]
n = 5
result = greater_than_n(lst, n)
print(result)
这个 Lambda 函数使用了列表推导式,在列表中筛选出大于 n 的数,并将它们作为一个新列表返回,可以这样调用这个 Lambda 函数 。
设计一个递归函数,输入一个正整数n,返回n的阶乘。
一个正整数n。
一个数,即n的阶乘。
输入:5
输出:120
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
n = 5
result = factorial(n)
print(result)
这个函数使用了循环迭代来计算 n 的阶乘。它初始化一个变量 result 为 1,然后用一个 for 循环从 1 到 n 遍历整数,并将每个整数乘以 result。最后,它返回 result,可以这样调用这个函数 。