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。