单击题目,直接跳转到页面刷题,一周后公布答案。加入QQ群701657573,随时答疑交流。
- 212:lambda函数求数字立方
- 213:lambda算术运算
- 457:map和lambda函数
- 214:函数默认参数
- 215:关键字参数
- 255:任意数量参数
- 216:函数可变参数
- 217:函数可变关键字参数
1. 212:lambda函数求数字立方
编写一个程序,用lambda函数求一个数字的立方(即3次方):
创建lambda函数并赋值给num_cube变量。
输入一个整数,并赋值给number。
以number为参数调用lambda函数并打印结果。
输入格式
一个整数
示例输入
2
示例输出
8
参考源码
# 创建lambda函数,返回参数的立方
get_cube = lambda x: x**3
# 输入一个整数
number = int(input())
# 调用函数并打印结果
print(get_cube(number))
2. 213:lambda算术运算
编写一个程序,使用lambda函数求两个数字的平方根之和:
创建lambda函数并赋值给compute变量。
该函数接受两个参数并返回参数的平方根之和。
输入两个整数分别赋值给n1和n2。
以n1和n2为参数调用lambda函数并打印结果。
输入格式
两个整数
示例输入
4
9
示例输出
5.0
参考源码
# 创建lambda函数,计算两个数字的平方根之和
compute = lambda x, y: x**0.5 + y**0.5
# 输入两个整数
n1 = int(input())
n2 = int(input())
# 调用函数并打印结果
print(compute(n1,n2))
3. 457:map和lambda函数
现在尝试下Python炫酷的map和lambda函数!
你必须生成前N个斐波那契数的列表,0是第一个数。然后,应用map函数和lambda表达式对每个fibonacci数进行立方运算,并打印列表。
概念
map()函数将一个函数应用于可迭代对象的每个成员并返回结果。它需要两个参数:首先是要应用的函数,其次是可迭代的对象。假设你有一个名字列表,需要打印一个包含每个名字长度的列表。
print (list(map(len, [‘Tina’, ‘Raj’, ‘Tom’])))
[4, 3, 3]
lambda是一个单表达式的匿名函数,通常用作内联函数。简单来说,它是一个函数体只有一行的函数。在函数式和GUI编程中非常方便。
sum = lambda a, b, c: a + b + c
sum(1, 2, 3)
6
注意:
lambda函数不能使用return语句,只能有一个表达式。与def不同,def定义一个函数并为其分配一个名称,lambda定义一个函数并返回函数本身。lambda可以在列表和字典中使用。
输入格式
一行输入整数N。
限制条件:0≤N≤15
输出格式
输出一行列表,包含前N个斐波那契数的立方。
示例输入
5
示例输出
[0, 1, 1, 8, 27]
解释:
前5个斐波那契数是[0,1,1,2,3],它们的立方是[0,1,1,8,27]。
参考源码
cube = lambda x: x**3 # 完成lambda函数
def fibonacci(n):
# 返回前n个fibonacci数的列表
if n == 0:
return [0]
fib = [0, 1]
for i in range(2, n):
fib.append(fib[i-1]+fib[i-2])
return fib
if __name__ == '__main__':
n = int(input())
print(list(map(cube, fibonacci(n))))
4. 214:函数默认参数
编写一个具有参数默认值的函数:
创建my_func()的函数,分别接受两个参数n1和n2。
将n1和n2的默认值分别设为10和100。
在该函数中,打印n1和n2。
在函数外:
输入整数并赋值给n
调用该函数,使第一个参数取值为n,第二个参数不传递
输入格式
一个整数
示例输入
13
示例输出
13
100
参考源码
# 创建有两个默认参数的函数
# 打印两个默认值
def my_func(n1=10, n2=100):
print(n1)
print(n2)
# 输入整数
n = int(input())
# 调用函数
my_func(n)
5. 215:关键字参数
编写一个程序,创建有两个参数的函数,并用关键字参数来调用该函数:
创建print_numbers()的函数,需要两个参数: arg1和arg2。
在该函数中,先打印arg1,然后在不同行中打印arg2。
在函数外:
输入两个整数并赋值给n1和n2。
使用关键字参数调用该函数,使arg1取值为n1,arg2取值为n2。参数的顺序应该不重要。
输入格式
两个整数
示例输入
2
4
示例输出
2
4
参考源码
# 创建函数
def print_numbers(arg1, arg2):
print(arg1)
print(arg2)
# 输入两个整数
n1 = int(input())
n2 = int(input())
# 调用函数
print_numbers(arg2 = n2, arg1 = n1)
6. 255:任意数量参数
编写一个Python程序,该程序能在函数中添加任意数量的参数,并返回它们的和。
示例输入
1, 2, 3, 4, 5
示例输出
15
参考源码
# 定义一个函数,该函数可以添加任意数量的参数
def adder(*arg):
# 初始化sum变量
sum = 0
# 遍历参数并将它们加到sum变量中
for x in arg:
sum += x
# 打印sum
print(sum)
# 调用函数
# 从用户输入中读取多个参数,以空格分隔
# input_str = input().split(',')
# 使用split()函数将输入字符串拆分成数字列表
# input_numbers = [int(num) for num in input_str]
input_numbers = map(int, input().split(','))
# 调用修改后的adder函数,并将输入的数字作为参数传递
adder(*input_numbers)
7. 216:函数可变参数
编写一个程序,创建一个可接受可变数量参数的函数,并返回所有参数的乘积:
创建multiply_numbers()的函数,可以接受任何数量的参数(0或更多)。
在该函数中,计算所有参数(每个参数为整数)的乘积,并返回结果。
在函数外:
输入三个整数。
用这三个整数调用multiply_numbers()函数并打印返回值。
输入格式
三个整数
示例输入
1
2
3
示例输出
6
参考源码
# 创建函数,参数为可变数量的参数
def multiply_numbers(*arg):
mul = 1
for x in arg:
mul *= x
return mul
# 输入三个整数
n1 = int(input())
n2 = int(input())
n3 = int(input())
# 调用函数
result = multiply_numbers(n1, n2, n3)
# 打印结果
print(result)
8. 217:函数可变关键字参数
编写一个程序,创建一个可以接受可变数量关键字参数的函数:
创建full_name()的函数,可以接受数量不定的关键字参数。
在该函数中,打印参数。
在函数外:
输入两个字符串,并分别赋值给变量first和last。
调用函数full_name(first = first, last = last)。
输入格式
两个字符串
示例输入
Joe
Biden
示例输出
{'first': 'Joe', 'last': 'Biden'}
参考源码
# 创建函数,参数为可变数量的关键字参数
def full_name(**arg):
# 打印参数
print(arg)
first = input()
last = input()
full_name(first = first, last = last)