| 1)函数实现 |
| def get_list(a): |
| info = [1,1] |
| v1 = 1 |
| v2 = 1 |
| while True: |
| v3 = v1 + v2 |
| if v3 > a: |
| break |
| v1 = v2 |
| v2 = v3 |
| info.append(v3) |
| return info |
| |
| date = get_list(100) |
| print(date) |
| |
| |
| |
| |
| def func(a,b): |
| |
| |
| |
| |
| |
| |
| print(b) |
| if a+b<100: |
| func(b,a+b) |
| |
| func(0,1) |
| |
| PS: |
| 在函数内部,可以调用其他函数。如果一个函数在内部调用自已本身,这个函数就叫做递归函数。上面我们写的这个代码就是递归 |
| 递归特性: |
| 必须有一个明确的结束条件 |
| 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 |
| |
| 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出) |
| |
| 面试题: |
| |
|  |
| |
| count =0 |
| num1=0 |
| num2 =1 |
| while num2 < 4000000: |
| |
| num1,num2 = num2,num1+num2 |
| count+=1 |
| print(num1,count) |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)