通过上次的授课经历,李雷发觉,韩梅梅对图形绘制这块很感兴趣。因而绞尽脑汁,谷歌百度,寻找各类素材。通过反复实验终于完成了备课工做。因而乎掰着手指头,从周一盼到了周六。python
“梅梅,咱们先看一个神奇的公式,以及如何用python实现它” git
def fibonacci(n): return (1/math.sqrt(5))*(math.pow((1+math.sqrt(5))/2, n)-math.pow((1-math.sqrt(5))/2, n)) 复制代码
韩梅梅:“啊,头好晕”github
李雷:"好吧,咱们举个例子"bash
假如一月份,咱们有一对小兔子。markdown
月份 | 小兔数量 | 大兔数量 |
---|---|---|
1 | 1 | 0 |
到了二月咱们的小兔子长成了大兔子app
月份 | 小兔数量 | 大兔数量 |
---|---|---|
1 | 1 | 0 |
2 | 0 | 1 |
到了三月,咱们的大兔子生了一对小兔子,如今咱们有一大一小两对兔子ide
月份 | 小兔数量 | 大兔数量 |
---|---|---|
1 | 1 | 0 |
2 | 0 | 1 |
3 | 1 | 1 |
到了四月,咱们大兔子 又生了一对小兔子,咱们三月的那对小兔子也长成了大兔子。 如今咱们有两对大兔子,一对小兔子了oop
月份 | 小兔数量 | 大兔数量 |
---|---|---|
1 | 1 | 0 |
2 | 0 | 1 |
3 | 1 | 1 |
4 | 1 | 2 |
到了五月,咱们的两对大兔子都生了一对小兔子,咱们的那对小兔子长成了大兔子,如今,咱们有3对大兔子,和两对小兔子。post
月份 | 小兔数量 | 大兔数量 |
---|---|---|
1 | 1 | 0 |
2 | 0 | 1 |
3 | 1 | 1 |
4 | 1 | 2 |
5 | 2 | 3 |
规律:学习
上一月的大兔子+小兔子的数量,等于下一月的大兔子数量, 上一月的大兔子数量等于下一月的小兔子的数量。 大兔子的数量变化的规律就是斐波那契的规律,咱们能够试着计算它。
#!/usr/bin/env python3 LIMIT = 1474 #122.8年后,月数会超出这个数字,计算机也数不清有多少兔子了。 def fibos(month): fibo_list = [] big = 0 small = 1 for i in range(0, min(month, LIMIT)): fibo_list.append({'month': i+1, 'small': small, 'big': big}) big, small = small+big, big return fibo_list def print_rabbits_fibos(fibos): print("|月份|小兔数量|大兔数量|") print("|:---:|:---:|:---:|") for fibo in fibos: print(f"|{fibo['month']}|{fibo['small']}|{fibo['big']}|") if __name__ == "__main__": print_rabbits_fibos(fibos(12)) 复制代码
输出:
月份 | 小兔数量 | 大兔数量 |
---|---|---|
1 | 1 | 0 |
2 | 0 | 1 |
3 | 1 | 1 |
4 | 1 | 2 |
5 | 2 | 3 |
6 | 3 | 5 |
7 | 5 | 8 |
8 | 8 | 13 |
9 | 13 | 21 |
10 | 21 | 34 |
11 | 34 | 55 |
12 | 55 | 89 |
韩梅梅:“兔子好能生呀!” 韩梅梅:“这么多近亲结婚怎么办?” 韩梅梅担心的说。
“额,这不是重点” 李雷冒汗了。
李雷:“天然界不少植物的花序和叶序都和斐波那契数列有关。”
李雷:“咱们还能够画出这个数列相应的螺旋线”
from turtle import * import math last_step = 0 this_step = 10 for i in range(8): circle(this_step, 90, int(this_step * (math.pi))) this_step, last_step = this_step + last_step, this_step done() 复制代码
韩梅梅:“看起来像个鹦鹉螺,看不出和斐波那契有什么关系啊” 李雷:“咱们能够标记出数列”
import math from turtle import * from fibos import fibos from math_ex import gold_offset WIN_SIZE = 500 setup(width=WIN_SIZE, height=WIN_SIZE) def fly_home(): offset = gold_offset(WIN_SIZE, 'start') penup() home() forward(offset) right(90) forward(offset) left(270) pendown() def draw_size(radius, fibo): if fibo < 2: return penup() text_pod = radius/2 forward(text_pod) left(90) forward(text_pod) left(90) pendown() dot(3) write(fibo, align='center') penup() forward(text_pod) left(90) forward(text_pod) left(90) pendown() def draw_bound(radius, fibo): for i in range(4): forward(radius) left(90) draw_size(radius, fibo) def draw_fibo(radius): step = int(radius * math.pi/2) circle(radius, 90, step) def draw_bounds(fibo_list, unit): fly_home() pencolor('#3399ff') width(1) for fibo in fibo_list: radius = fibo * unit draw_bound(radius, fibo) forward(radius) left(90) forward(radius) def draw_fibos(fibo_list, unit): fly_home() pencolor('#ff9933') width(2) for fibo in fibo_list: radius = fibo * unit draw_fibo(radius) if __name__ == "__main__": hideturtle() speed(0) fibo_list = fibos(9) unit = 6 draw_bounds(fibo_list, unit) draw_fibos(fibo_list, unit) done() 复制代码
李雷:“利用这个螺旋咱们还能够画一些有趣的图形”
这些代码都在:github.com/caojianfeng…
李雷通过一个月的奋战,终于完成了一个flutter应用的开发。
打算上线了才发现,图标仍是flutter自带的图标呢,赶忙向设计师韩梅梅求救。
设计师韩梅梅拿出准备已久的Logo丢给李雷,李雷傻眼了。
李雷:“怎么只有一个?”
韩梅梅:“难道安卓和iOS要用不一样的图标?”
李雷:“不是啊。一样的图标不一样的尺寸。
安卓图标五六个 ,iOS图标十几个吧。
我给你列个列表吧,尺寸都告诉你。你帮忙resize一下吧。”
韩梅梅:”宝宝内心苦...“
李雷:“嗯,我想一想办法吧...”
复制代码
书接上回
看到工程师李雷能用一行命令,更新flutter工程下全部图标,
韩梅梅深入的体会到,这(zhe)门(ge)语(nan)言(ren)如此优秀,必定不能错过。
因而找到李雷:
韩梅梅:“李雷,上次见到你用python更新图标,感受好棒啊”
李雷:“Python确实是很好用的”
韩梅梅:“我能学会吗”
李雷:“有我在,怎么可能学不会呢?咱们先从最简单的Hello world开始吧”
......
复制代码
学完python3中f-string 格式化固定宽度的数字,
李雷如约上门安装安装python,折腾了很大一通李雷和韩梅梅都感受很累。
因而李雷提议到公园玩耍,他提早作足了功课,
学习了不少拍照到知识,终于用上了,尤为是构图比例,一概黄金分割。 ...
复制代码
通过上次的授课经历,李雷发觉,韩梅梅对图形绘制这块很感兴趣。
因而绞尽脑汁,谷歌百度,寻找各类素材。通过反复实验终于完成了备课工做。
因而乎掰着手指头,从周一盼到了周六。
“梅梅,咱们先看一个神奇的公式,以及如何用python实现它”
复制代码
2020年4月4日,一大早,老板急冲冲的打电话给韩梅梅。
李老板:“全国网站都灰了,为啥咱们本身的网站还这么鲜艳。”
韩梅梅:“好多图改不过来。”
李老板:“原本你应该提早准备的。结果搞成如今这么被动。
咱们是创业公司,每一个员工都应该是创业者。
做为一个合格的创业者,要有远见,有自驱,
不要什么都不考虑,不要什么都等安排。
若是你以为本身不想当创业者,那就去找份大厂的工做。
若是你是个创业者,就拿出创业者的劲头加个班搞定吧。”
还没等韩梅梅回答,电话就被挂断了。
复制代码