zoukankan      html  css  js  c++  java
  • 迭代

    # 迭代是重复做一件事情
    # 递归:每个人都比前一个大两岁age(n)=age(n-1)+2
    # def age(n):
    # if n==1:
    # return 10
    # else:
    # return age(n-1)+2
    #
    # print(age(5))

    # 递归的效率低
    # 死循环
    # import sys
    # sys.setrecursionlimit(20)
    #
    # def func():
    # print('from func')
    # func()
    #
    # func()

    # def func(n):
    # if n==10:
    # return 'a'
    # print('from func')
    # func(n-1)
    #
    # print(func(11))

    # data=[1,3,6,7,8,9,34,56,113,1111,2222,3333]
    # num=13
    # i=0
    # while True:
    # if num==data[i]:
    # print('find it')
    # break
    # i+=1

    # 1、必须有一个明确的结束条件
    # 2、每次进入更深一层递归时,问题规模相比上次递归都应有所减少

    # 二分法
    # def search(num,data):
    # print(data)
    # if len(data)>=2:
    # mid_index=int(len(data)/2)
    # mid_value=data[mid_index]
    # if num>mid_value:
    # # num在列表右边
    # data=data[mid_index:]
    # search(num,data)
    # elif num<mid_value:
    # data=data[:mid_index]
    # search(num,data)
    # else:
    # print('find it,ok')
    # return
    # elif data[0]==num:
    # print('find it,ok')
    # else:
    # print("don't find it")
    # return
    #
    # search(56,data)
    # search(113,data)
    # search(1000,data)

    # 递归
    # 介绍函数式编程
    # y=2*x+1

    # l=[]
    # def test(l,item):
    # l.append(item)
    # return l
    #
    # e=test(l,'aaa')


    # 由于很多地方都会改l,所以当执行e=test(l,'a223')时,得到的结果是我们不知道的
    # e=test(l,'a223')
    # print(e)

    # 为了解决这个问题,就需要函数式编程

    # y=2*x+1
    # x=5
    # def test(x):
    # return 2*x+1
    #
    # print(test(5))

    # 面向对象:例如游戏角色,可扩展性,连角色都可以创造出来
    # 面向过程:流水线设计了不能改


  • 相关阅读:
    多进程交替控制输出
    最长不重复子串
    const关键字的使用
    C++类的内存分布
    shell编程--awk 、sed 命令介绍
    gcc 6.0编译opencv出错
    NTP同步网络时间
    树莓派配置RTC时钟(DS3231,I2C接口)
    浏览器播放rtmp流
    nginx配置hls
  • 原文地址:https://www.cnblogs.com/jensenxie/p/9130122.html
Copyright © 2011-2022 走看看