0基础学python(七) |
|
P2P
L3
• 2020-10-30 • 回复 4 • 只看楼主
• 举报
|
全局变量即函数外定义的变量,大家都能用,相当于公共的东西,像公共厕所,局部变量是函数内部定义的的东西,只能自己使用,类似自家的厕所
a = 100#全局变量
def get_a():
a = 200#局部变量
print(a)
print(a)
大家可以发现打印出来的是两个值,一个是200一个是100
因为这两个a不是一个东西,仅仅是名字相同而已
想在函数内对全局变量进行修改,需要在函数内进行声明(global)
a = 100
def change_a():
global a
a = 200
当全局变量为字符串(str),数字(包括整形和浮点型),元组(tuple)时,是无法直接修改的,因为这三种是不可变类型,下节课会做一个简单的点名系统来说明
下面说说递归函数
初中高中那会大家都学过函数f(x)= f(x-1)+f(x-2)这就是一个简单的递归函数,又比如阶乘5!=5*4*3*2*1,这个原理我之前发了个帖子有说到,就是不停的取返回值
我们现在举一个简单的例子斐波那契数列,就是简单的找规律 :1,1,2,3,5,8,13,21
简单观察我们可以发现从第三个数字开始,是前两个数字的和,我们现在开始写代码
a=int(input("n为:"))#让用户输入一个数,计算
def get_n(num):
if num >2:#观察可得前两个数为1
return get_n(num-2) + get_n(num-1)
else:
return 1
result = get_n(a)
print(result)
下节课做个简单的点名系统然后把函数讲完