Python算法
什么是算法?
请输入两个数X和Y,计算两个数的和
<div align="left">1.输入数字X,数字Y</div> <br/> <div align="left">2.计算X+Y</div> <br/> <div align="left">3.输出结果</div>
算法可以用来做什么?
#### 交通导航 <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1599562648390&di=f90247fc3d29873cbdc8d459b767bb8f&imgtype=0&src=http%3A%2F%2Fx0.ifengimg.com%2Fauto%2Fwemedia%2F2019%2F0910%2F50FE01CE57CD6462F61BB715266330A8C65D7678_size511_w738_h583_3_2.png">
#### 淘宝推送算法 <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1599563040734&di=08d36beaf542bc86dd81a56bbb5f6545&imgtype=0&src=http%3A%2F%2Fimg.mp.itc.cn%2Fupload%2F20161126%2F403b4c3e883e494b905bc2241be80cca_th.jpg">
算法的基本使用
#### 绘制正六边形的代码 ```python #导入海龟库 import turtle pen=turtle.Pen() #设置参数 length=100; n=6 for i in range(n): pen.forward(length) pen.left(60) turtle.done() ```
1.如果我想增多边数,应该怎么做?
2.如何简化这个过程?
#### 改进代码 #导入海龟库 import turtle pen=turtle.Pen() #设置参数 length=100; n=7 for i in range(n): pen.forward(length) pen.left(360/n) turtle.done()
#### 改进代码 ```python #导入海龟库 import turtle pen=turtle.Pen() #设置参数, length=300; n=7 for i in range(n): #控制图形的大小 pen.forward(length/n) pen.left(360/n) turtle.done() ```
绘制多彩多边形

如果我想绘制彩色正十二边形,如何绘制?
余数
* 5÷2
* 7÷2
#### 在python当中如何去表示余数呢? ```python #定义变量 a=5 b=2 #输出结果 print(a/b) print(a%b) ```
取余可以将一个不断变换的数字或者索引限制在一定的范围之内 ```python for i in range(10): print(i,i%2) ```
#### 绘制任意彩色正多边形的代码 ```python #导入海龟库 import turtle pen=turtle.Pen() #设置颜色 color=["red","yellow","orange","green"] #设置参数, length=300; n=7 for i in range(n): #控制图形的大小 pen.pencolor(color[i%4]) pen.forward(length/n) pen.left(360/n) turtle.done() ```
综合练习
#### 请绘制出以下多彩五角星  * 角度为36度 * 长度为100
```python import turtle #设置画笔参数 pen=turtle.Pen() pen.pensize(3) #设置颜色 colors=["red","yellow","orange","green","blue","black"] #开始绘制 for i in range(5): for j in range(6): pen.pencolor(colors[j]) pen.forward(50) pen.right(144) #绘制完成 turtle.done()
#### 绘制以下图形  * 小格子长度为25 * 大正方形的长度为200
```python import turtle pen=turtle.Pen() pen.fillcolor("black") #创建函数,绘制正方形 def square(): pen.begin_fill() pen.right(90) pen.forward(25) pen.left(90) pen.forward(25) pen.left(90) pen.forward(25) pen.right(90) pen.end_fill() #绘制大棋盘 for i in range(4): pen.forward(200); pen.right(90) #绘制黑色格子 for i in range(8): #有8行 pen.penup() #确定每一行的位置 pen.goto(0,-i*25) pen.pendown() if i%2==0: #判断是从第一个开始画,还是第二个格子开始画 pen.forward(25) for j in range(4): #每一行有4个 square() if i%2==0 and j==3: break pen.forward(25) turtle.done() ```
Made with Slides.com