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))
3
24
In [2]:
result = myMultiply(myAdd(1,2), 4)
# 想想 result 是多少呢?
In [3]:
print(result)
12

函数定义——练习

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))
30
11
In [7]:
# 定义一个函数,把给定的函数运用两遍到给定的数字上
def twice(f, x):
    return f(f(x))

print(twice(multiply_by_three, 10))
print(add_two(9))
90
11
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))
13
90

高阶函数——练习

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]:
False
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