• python学习笔记三


      函数:

      __doc__:显示函数文档:也可使用help()

      

       函数中无法直接修改全局变量,需要对变量定义为global:

      

      global适用于函数内部修改全局变量的值

      nonlocal适用于嵌套函数中内部函数修改外部变量的值

      

      使用MyFunction1 时返回的是MyFunction1 这个函数;

      使用MyFunction1() 时返回的是MyFunction1 () 执行后的返回值,如果MyFunction1 ()函数没有返回值则返回值为None,

      

       lambda匿名函数:使用过后被清除,没有名字

      

       fileter()函数:用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

      最终得出结果为true的新列表:

      

       递归算法:

       递归算法求阶乘:

    1 ###递归函数求阶乘
    2 def jiecheng(number):
    3     if(number == 1):
    4         return 1
    5     else:
    6         return number*jiecheng(number-1)
    7 number = int(input('请输入一个正整数:'))
    8 print(number,'的阶乘为:',jiecheng(number))
    递归求阶乘

      结果:

      

      递归求斐波那契数列:

      一个数列,第一项为1,第二项为1,第三项开始,每一项都等于前两项的和。

     1 ##递归求斐波那契数列
     2 def number(month):
     3     if month == 1:
     4         return 1
     5     elif month == 2:
     6         return 1
     7     else:
     8         return number(month-1)+number(month-2)
     9 month = int(input('请输入一个正整数:'))
    10 print(month,'个月后兔子数量为:',number(month))
    递归求斐波那契数列

      结果:

      

      递归求汉诺塔问题:

        有三根杆(编号x、y、z),在x杆自下而上、由大到小按顺序放置n个金盘。游戏的目标:把x杆上的金盘全部移到z杆上,并仍保持原有顺序叠好。

     1 ###递归求汉诺塔问题
     2 #注:hanoi(盘子数量,第一根柱子,第二根柱子,第三根柱子)
     3 def hanoi(num,x,y,z):
     4     #如果只有一个盘子
     5     if num == 1:
     6         print(x,'-->',z)
     7     else:
     8         #将n-1个从x-->y
     9         hanoi(num-1,x,z,y)
    10         #将最后一个由x-->z
    11         print(x,'-->',z)
    12         #将y-->z
    13         hanoi(num-1,y,x,z)
    14 num = int(input('请输入一个正整数:'))
    15 if num>0:
    16     hanoi(num,'x','y','z')
    17 else:
    18     print('请重新输入!')
    递归求汉诺塔

       结果:

      

  • 相关阅读:
    p5js弹钢琴
    javascript——拖拽(完整兼容代码)
    js正则表达式和replace
    CSS最常用和实用的技巧
    优化MYSQL数据库的方法
    css默认样式
    javascript之document对象
    常见JS(JavaScript)冲突解决方法
    String对象中的正则表达式
    css去掉a标签点击后的虚线框
  • 原文地址:https://www.cnblogs.com/liyuchao/p/12368491.html
Copyright © 2020-2023  润新知