• Python番外篇---函数


    1.用函数,编写关于成绩的程序

    def yyy(score):
    
        if score > 100 or score < 0:
            print('不合法')
    
        elif score >= 90:
            print('A')
    
        elif score >= 80:
            print('B')
    
        elif score >= 70:
            print('C')
    
        elif score >= 60:
            print('D')
    
        else:
            print('不及格')
    
    while True:
        score = int(input('score:'))
        yyy(score)
    代码

    2.关于return的理解

    def func(a):
        if a%2 == 0:
            return 1,2,3
        else:
            return 1
    
    a = 12
    b = 3
    
    r1 = func(b)
    print(r1)
    
    
    #结果
    1
    

    3.函数的 计算

    def addfunc(a,b,c=0):
        print(a + b + c)
    
    while True:
        a = int(input('number a : '))
        b = int(input('number b : '))
        
        if b%2 == 0:                      #如果输入的 b,为偶数。输入c
            c = int(input('number c : '))
            addfunc(a,b,c)
        
        else:
            addfunc(a, b)
    View Code

    4.函数和for

    def test(c=[]):
    
        c.append(1)
    
        print(c)
    
    for i in [1,2,3]:
        test()
    
    
    ##相当于 上面的 for
    # test()
    # test()
    # test()
    
    
    ###结果
    [1]
    [1, 1]
    [1, 1, 1]
    代码

    5.动态参数

    def zzz(num,*args,f=True,**kwargs):
        print(num)
        print(args)
        print(f)
        print(kwargs)
    
    # zzz(20,a = 1,b = 1)
    d = {'b': 1, 'a': 1}
    zzz(50,1,2,3,5,**d)
    
    
    
    ##结果
    50
    (1, 2, 3, 5)
    True
    {'b': 1, 'a': 1}
    动态参数

    6.函数调用

    1.比较大小

    def my_max(x,y):
        res = x if x>y else y
        return res
    print(my_max(10,100))
    
    def my_max4(a,b,c,d):
        res1 = my_max(a,b)
        res2 = my_max(res1,c)
        res3 = my_max(res2,d)
        return res3
    print(my_max4(1,20,3,4))
    
    
    #结果
    100
    20
    

    2.

    def calc(n):
        print(n)
        if int(n/2) == 0:
            return n
        return calc(int(n/2))
    
    calc(10)
    
    
    #结果
    10
    5
    2
    1
    

    7.匿名函数

    # f = lambda x,y:x+y   #不是 匿名函数
    # print(f(2,4))
    
    
    # print((lambda  x,y:x+y)(3,6))  # 是 匿名函数
    

    递归调用

    在函数内部,可以调用其他函数。如果在调用一个函数的过程中直接或间接调用自身本身

    #----1
    def calc(n):
        print(n)
    
        if int(n/2) == 0:
            return n
        return calc(int(n/2))
    calc(10)
    
    
    #结果
    10
    5
    2
    1
    
    
    
    
    #-----2
    def func(num):   #阶乘
        if num==1:
            return 1
    
        if num>1:
            return func(num-1)*num
    k = func(5)
    
    print(k)
    
    
    #结果
    120
    例一
    def test(n):
        print(n)
        n = n-1
        if n>=1:
            test(n)
    
    
    test(5)
    
    #结果
    5
    4
    3
    2
    1
    View Code
    #面试题
    
    def add(n,i):
        return n+i
    
    def test():
        for i in range(4):
            yield i
    
    g=test()
    
    for n in [1,10]:
        g=(add(n,i) for i in g)
    
    # n = 1
    #g = (add(n,i) for i in g)  #[1, 2, 3, 4]
    #n = 10
    #g1 = (add(n,i) for i in  (add(n,i) for i in g))    #g =test() 0,1,2,3
    # # #          #此处的n=10                 #10,11.12.13
    print(list(g))
    
    #结果
    [20, 21, 22, 23]
    其他
  • 相关阅读:
    php高级进阶系列文章--第二篇(PHP基础知识复习)
    开发常用linux命令
    composer 包管理工具学习总结
    微信菜单加emoji图标
    onethink导出excel
    onethinkp导入excel
    导航效果css
    php发送邮件
    js初学者的div移动
    html图片预览
  • 原文地址:https://www.cnblogs.com/zhaochangbo/p/6795838.html
Copyright © 2020-2023  润新知