Python巩固 - 第N天

一、函数解释:

def fact(n, m = 1):
    s = 1
    for j in range(1, n+1):
        s = s*j
    return n, m, s//m


print(fact(10, 5))

  

fact就是函数名,n和m是形式参数,m=1是默认参数传递,s=1是变量初始化,该函数默认求阶乘,返回的是一个元组。

输出:

(10, 5, 725760)

 

二、lambda函数

<函数名> = lambda <参数>: <表达式>

func = lambda x, y: x + y

print(func(10, 20))

   

输出:

30

 

三、递归函数

注意将基例与递归链条分开。

1. 以下是字符串反转函数:

def reverse_string(_str):
    if _str == '':
        return _str
    else:
        return reverse_string(_str[1:]) + _str[0]

result = reverse_string('youloveme')

print(result)

   

输出:

emevoluoy

 

2. 斐波那契数列的递归算法:

def fibonacci(number):
    if number == 0 or number == 1:
        return 1
    else:
        return fibonacci(number - 1) + fibonacci(number - 2)


print(fibonacci(10))

   

输出:

89

以上环境,win10,pycharm,python 3.7.4。

posted @ 2020-03-28 10:45  Johnthegreat  阅读(167)  评论(0编辑  收藏  举报