zoukankan      html  css  js  c++  java
  • Python函数练习

    #抽象:函数

    """
    #1 计算斐波拉契函数
    fib=[0,1]
    for i in range(10):
    fib.append(fib[-2]+fib[-1])
    print(fib)
    #2创建函数
    def fibs(num):
    '计算前10个斐波拉契数'#文档字符串
    result = [0,1]
    for i in range(num-2):
    result.append(result[-2]+result[-1])
    return result
    print(fibs(10))# 函数调用
    print("访问文档字符串",fibs.__doc__)
    """
    #-------------------------输出结果----------------------------------#
    """
    C:python3.7python.exe D:/Python-Test/qiubai/qiubai/Test5.py
    [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
    [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
    访问文档字符串 计算前10个斐波拉契数
    """

    """
    #3 字符串不可变
    def try_to_change(n):
    n = "Hello world"#局部变量
    print(n)
    name = "HeHe"#字符串不能更改
    try_to_change(name)
    print(name)
    #4 列表可变
    def change(n):
    n[0] = 'Mr.change'
    names = ['Hello World',"New Year"]#可变列表
    change(names)
    print(names)

    #5关键字参数
    def helllo(name = "Hello",age = 5):
    print(age,name)
    helllo()
    """
    #-------------------------输出结果----------------------------------#
    """
    C:python3.7python.exe D:/Python-Test/qiubai/qiubai/Test5.py
    Hello world
    HeHe
    ['Mr.change', 'New Year']
    5 Hello
    """

    """
    #6*pramas收集多个参数 **para收集x=1,y=2,z=3
    def Print_params(title,*params,**para):
    print(title)
    print(params)
    print(para)
    Print_params('hello',1,2,3,4,5,6,7,x=1,y=2,z=3)
    """

    #-------------------------输出结果----------------------------------#
    """
    C:python3.7python.exe D:/Python-Test/qiubai/qiubai/Test5.py
    hello
    (1, 2, 3, 4, 5, 6, 7)
    {'x': 1, 'y': 2, 'z': 3}
    """
    '''
    #7 调用时参数带*
    def add(x, y):
    return (x + y)
    param = (1,2)
    print(add(*param))

    #8 def start_with() *号只在定义或者调用时才有用
    def star_with(**star):
    print(star['name'] , "is" ,star['age'])
    def star_without(star):
    print(star['name'] , "is" ,star['age'])
    args ={'name':'zhangsan','age':58}
    star_with(**args)
    star_without(args)
    '''
    #-------------------------输出结果----------------------------------#
    """
    C:python3.7python.exe D:/Python-Test/qiubai/qiubai/Test5.py
    3
    zhangsan is 58
    zhangsan is 58
    """

    #8 函数内部引用全局变量
    def glooa(params):
    print(params +":"+ globals()['params'])
    params = "hello"#全局
    glooa("world")
    #9 重新绑定全局变量
    x = 1
    def global_test():
    global x
    x = x + 1
    global_test()
    print(x)

    #-------------------------输出结果----------------------------------#
    """
    C:python3.7python.exe D:/Python-Test/qiubai/qiubai/Test5.py
    world:hello
    2
    """

    #10 递归
    #求阶乘
    def multi(n):
    result = n
    for i in range(1,n):
    result *= i
    return result
    print(multi(4))
    def multi_digui(n):
    if n == 1:
    return 1
    else:
    return n * multi_digui(n-1)#大于1的数n为n*(n-1)的阶乘
    print(multi_digui(4))


    #-------------------------输出结果----------------------------------#
    """
    C:python3.7python.exe D:/Python-Test/qiubai/qiubai/Test5.py
    24
    24
    """


  • 相关阅读:
    null和undefined的区别
    【面试】前端面试题总结一(css)
    【js基础类】火狐的滚动事件
    【Vue】provide和inject
    React学习:react-router-dom-主要组件
    React学习:组合VS继承
    React学习:状态提升
    React学习:form表单
    unity+ARKit 捕捉表情录制动画 表情动画与人形骨骼动画融合
    Unity导入模型材质球无法编辑属性解决方法
  • 原文地址:https://www.cnblogs.com/acer-haitao/p/7284835.html
Copyright © 2011-2022 走看看