python学习 函数 内嵌函数 全局变量和局部变量

函数学习

练习代码

用def 关键字定义函数

全局变量和局部变量
定义在函数外的变量看作全局变量,在堆当中
定义在函数内的变量看作局部变量,在栈当中

内嵌函数
函数中,再定义一个函数,这个函数只能再这个上一级函数中调用,不能越级。

全局变量,在函数中使用时要用关键字 global声明 ,

内嵌函数与上一级函数的关系,和函数 与主函数(不知道怎么称呼)类似。
定义在函数中的函数,要使用外部函数的局部变量时,可以使用关键字 nonlocal声明

lambda 可以用于声明 无名函数

x=lambda x:x*x
x(8)

递归
自己初用python写递归函数

sum=1
i=1
n=10

def factorial():
    global sum,i,n,sum
    sum*=i
    i=i+1
    if i<=n:
        return factorial()
    else:
        return sum

print(factorial())

例程

def factorical(n):
    if n==1:
        return 1
    else :
        return n*factorical(n-1)

print(factorical(10))

裴波那齐数列
递归方法

def algorithm(n):
    if n==1:
        return 1
    elif n==2:
        return 1
    else :
        return algorithm(n-1)+algorithm(n-2)

print(algorithm(12))

迭代方法

def algorithm(n):
    last=before_last=1
    if n==1:
        result=1
    elif n==2:
        result=1
    else :
        for i in range(3,n+1):
            
            result=last+before_last
            before_last=last
            last=result
    return result
print(algorithm(12))

汉诺塔

def algorithm(n):
    if n==1  :
        return 1
    else :
        return 2*algorithm(n-1)+1
print(algorithm(12))

新学字符串打印方法

print('这篇文章共有%d字'% 897)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值