Python 基础练习2¶
函数定义——示例¶
In [1]:
# 定义函数
def myAdd(a, b):
return a + b
def myMultiply(a, b):
return a * b
print(myAdd(1, 2))
print(myMultiply(4, 6))
In [2]:
result = myMultiply(myAdd(1,2), 4)
# 想想 result 是多少呢?
In [3]:
print(result)
函数定义——练习¶
In [4]:
# 定义一个函数,计算平面直角坐标系里面两个点(x1, y1), (x2, y2)之间的距离
def calculateDistance(x1, y1, x2, y2):
return None
In [5]:
# 计算 fibonacci(斐波那契)数列的第 n 个数
# fibonacci 数列的前几个是 1, 1, 2, 3, 5, 8, 13...
def fibonacci(x):
return None
高阶函数——示例¶
In [6]:
# 定义一个函数,返回这个数的三倍
def multiply_by_three(x):
return x * 3
# 定义一个函数,返回这个数加二
def add_two(x):
return x + 2
print(multiply_by_three(10))
print(add_two(9))
In [7]:
# 定义一个函数,把给定的函数运用两遍到给定的数字上
def twice(f, x):
return f(f(x))
print(twice(multiply_by_three, 10))
print(add_two(9))
In [8]:
# 定义一个函数,返回一个新的函数,相当于把原来的函数的效果翻倍。
def twice_v2(f):
def new_f(x):
return f(f(x))
return new_f
add_four = twice_v2(add_two)
print(add_four(9))
multiply_by_nine = twice_v2(multiply_by_three)
print(multiply_by_nine(10))
高阶函数——练习¶
In [9]:
# 定义一个函数,把两个给定的函数 (f 和 g)按照顺序运用到给定的数字上,即 f(g(x))
def compose(f, g, x):
return None
# 这样调用的话,需要等于 21,(5 + 2) * 3 = 21
compose(multiply_by_three, add_two, 5) == 21
Out[9]:
In [10]:
# 定义一个函数,把数组里所有的数字经过函数运算后输出
def print_all(f, numbers):
for number in numbers:
print(f(number))
x = [1,2,3,4,5]
# 请定义一个函数,然后使用 print_all,打印出 2,4,6,8,10