DAY6
目录
DAY6
Test6
函数:
Test6
涉及知识点:
题目:输入一个数N,输出斐波那契数的第N项。
代码:
N=int(input("请输入N:"))
def fib(n):
if n==1 or n==2:
return 1
return fib(n-1)+fib(n-2)
print("斐波那契数列第N项为:",fib(N))
函数:
#格式:
def 函数名(形式参数1,形式参数2...):
代码
return 返回值(return可缺省)
- Python中函数用关键字def定义
- 函数可以添加形式参数也可以不添加
- Python中不用定义函数返回值类型,也不用区分是否有返回值
- 在函数形式参数表添加有多个参数时,在调用函数时可以选择性传参(见如下代码)
- 在函数形式参数数量无法确定时,可以用(*变量名)作参数,该参数会将多余的变量全部存入(见如下代码)
#输入X和Y,格式化输出该点到原点的距离的平方
def distence1(X,Y):
print("X为%d Y为%d 距离为:%d"%(X,Y,(X*X+Y*Y)),end="\n\n")
return
def distence2(*Q):
dis=0
for i in Q:
dis+=i*i
print("距离为:%d"%dis,end="\n\n")
print("distence1(2,3):",end="")
distence1(2,3)
print("distence1(3,2):",end="")
distence1(3,2)
print("distence1(X=3,Y=2):",end="")
distence1(X=3,Y=2)
print("distence2(2,3):",end="")
distence2(2,3)
print("distence1(X=3):",end="")
distence1(X=3) #这里会报错,因为函数形式参数Y在此处相当于没有被定义
?运行结果如下:
- ?特别注意:Python在传递列表和字典类型的数据时,在函数内修改参数时,函数退出后原来的数据会改变,类似于C语言中传入了指针或者引用类型
#例
data=[1,2,3,4,5]
def changeable(arr):
data.pop(-1)
print("执行changeable前data=",data)
changeable(data)
print("执行changeable后data=",data)
?运行结果如下:
|