第7周 Python函数刷题(二)

单击题目,直接跳转到页面刷题,一周后公布答案。加入QQ群701657573,随时答疑交流。

  1. 212:lambda函数求数字立方
  2. 213:lambda算术运算
  3. 457:map和lambda函数
  4. 214:函数默认参数
  5. 215:关键字参数
  6. 255:任意数量参数
  7. 216:函数可变参数
  8. 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)
  • 28
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趣学算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值