19.4.26笔记和作业

1.函数的特性
eg1:

a=5
def hanshu1():
    return a+5

a=6
def hanshu2():
    return a+5

a=7
def hanshu3():
    return a+5

print(hanshu1())
print(hanshu2())
print(hanshu3())
输出值均为12,因为程序执行下来a的值为7

eg2:

def dengji(name,age,sex):
    print('我叫',name)
    print('年龄',age)
    print('性别',sex)
x=dengji(name='吴敏荣',age=18,sex='女')#输出name,age,sex的内容

eg3:

def qiuhe(a,b):
    c=a+b
    print(c)
qiuhe(3,6)
qiuhe(2,b=6)
qiuhe(a=6,2)##形式参数,要写在位置参数后面

eg4:

def hanshu(a,b,*c):##在函数中添加星号,是以元祖的形式输出,不在函数中添加星号,在外面添加,是以打散的形式输出。
    print(a)
    print(b)
    print(c)
    for i in c:
        print(i)
hanshu(1,2,3,4,5)
def hanshu(a,b,c):
    print(a)
    print(b)
    print(c)

x=(1,2,3)
hanshu(*x)
print(*x)

**kwargs,输出为元祖类型

def kb(a,**kwargs):
    print(kwargs)

kb(1,name='张三',age=19,sex='男')
kb(1,name='张三',age=19,sex='男',address='广州')
x=[1,2,3,4]
print(x.remove(4))
print(x)

#递归函数,就是函数之间的调用

def hanshu(a,b):
    c=a+b
    return c

def hanshu2(a,b,c):
    return a-b,hanshu(a,b)*c

a=hanshu2(4,5,6)
print(a)

做一个阶乘函数

def jiecheng(n):
    if n==1:
        return 1
    else:
        return n*jiecheng(n-1)
a=jiecheng(5)
print(a)

##定义一个斐波那契

def fbnq(n):
    if n==1 or n==2:
        return 1
    else:
        return  fbnq(n-1)+fbnq(n-2)
for i in range(1,11):
    print('第',i,'个月兔子的个数',fbnq(i))

猴子吃桃,一共一百个,一天吃一半,到第六天还剩多少个

def hzct(n,gs):
    if n==1:
        return gs/2
    else:
        return hzct(n-1,gs/2)
a=hzct(6,100)
print(a)

第六次弹起的高度,以及走过的总距离

gaodu=100
jl=0
i=1
while i<=6:
    jl=jl+gaodu+gaodu/2##
    gaodu/=2
    print('第',i,'次弹起,高度',gaodu,'距离',jl)
    i+=1

井有20米深,蜗牛白天爬三米,晚上下降一米

day=0
d=0
while True:
    day+=1
    d+=3
    if d>=20:
        break
    else:
        d-=1
print(day)

写一个斐波那契数列的函数

def fbnq(n):
    if n==1 or n==2:
        return 1
    else:
        return fbnq(n-1)+fbnq(n-2)
for x in range(1,11):
    print('第',x,'天的兔子个数:',fbnq(x))

作业
1、写一个函数实现斐波那契数列

def func(num):
    a = 1
    b = 1
    if num <= 2:
        print(a, a + b, end='')
    else:
        while num > 0:
            print(b, end=' ')
            a, b = b, a + b
            num -= 1


func(4)

2.计算任意多个数字的和
需求
(1).定义一个函数 sum_numbers,可以接收的 任意多个整数
(2).功能要求:将传递的 所有数字累加 并且返回累加结果

def sum_numbers(*args):
    num = 0
    # 遍历 args 元组顺序求和
    for n in args:
        num += n

    return num


print(sum_numbers(1, 2, 3))

3.使用递归,计算 1 + 2 + … num 的结果

def sum_numbers(num):
    # 1. 出口
    if num == 1:
        return 1
temp = sum_numbers(num - 1)
   return num + temp


result = sum_numbers(100)
print(result)

猜你喜欢

转载自blog.csdn.net/peter_fanxing/article/details/89577510