内容正文:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
少儿编程课
1
神奇的线
三角形
代码实现
import turtle
t = turtle.Turtle()
for x in range(3):
t.fd(100)
t.left(120)
转角120°
转角120°
转角120°
多边形
五边形
八边形
十边形
十二边形
多边形
多边形外角和:360度
多边形内角和:
(n-2)*180度
每个内角角度为:
(n-2)*180 / n 度
多边形每个外角为:360 / n度
如果是5边型,每个内角:
(5-2)*180 / 5 =108度
5边形每个外角为:
360 / 5 = 72度
6
多边形
五边形
八边形
十边形
十二边形
转角为外角角度,即360 / n度
循环次数为n
五角星
五角星
import turtle
t = turtle.Turtle()
for x in range(5):
t.fd(100)
t.left(144)
五角星
转角144度
(5-2)*180 / 5 = 108度
(180-108) / 2 = 36度
180 – 36 = 144度
36度
五角星
刚才绘制的五角星是倾斜的,我想得到一个正五角星该怎么做呢?
第一种方式: 先让笔头右转36度,再开始绘制五角星。
第二种方式: 绘制五角星的时候,每次绘制直线后均右转144度。
多角星
二十角星
九角星
三十六角星
二十五角星
多角星(共有N个角)
如果N是奇数,则需要循环N次,转角为180*(N-1)/N度。
例如,五角星的5是奇数,需要循环5次,转角是180*4/5 = 144度。
再例如九角星的9是奇数,需要循环9次,转角是180*8/9 = 160度
多角星(共有N个角)
如果N是偶数,需要循环N次,每次旋转180*(N-2)/N度
例如,二十角星,需要循环20次,转角是180*18/20 = 162度
但是发现如果N/2为奇数,则不存在这样的N角星。
因为这样的N角星实际只需要循环N/2次,变为一个奇数的多角星。
例如,十八角星因为除以2为奇数,所以没有十八角星,只需要循环9次,每次转角为180*8/9 = 160度,绘制一个九角星
绘制四角星
15
绘制四角星
30°
120°
16
绘制四角星
30°
120°
for x in range(4):
t.fd(50) t.left(30)
t.fd(50) t.right(120)
17
绘制星星
t.left(30)
for x in range(4):
t.fd(50) t.left(30)
t.fd(50) t.right(120)
18
六角星
从程序的角度看多角星
从起点开始,不停的绘制,直到笔头再次回到起点的时候就停止绘制。
不停的做某事,直到某个条件发生时就终止。
while True:
不停的做某事
if 条件:
条件满足时,终止循环
从程序的角度看多角星
从起点开始,不停的绘制,直到笔头再次回到起点的时候就停止绘制。
不停的做某事,直到某个条件发生时就终止。
while True:
t.fd(100) #不停的画直线
t.left(角度) #旋转角度
if t.pos( )==(0,0): #如果画完线后笔头的位置回到起点
break #不再绘制
注意:该代码对角度的输入是有限制的。某些角度可能导致条件永远无法满足,循环就不会停止下来了。造成死循环!
colors = ['red','blue','green','pink','yellow','violet']
for x in range(50):
t.color(???)
t.circle(x)
t.left(100)
如何让元素的选择随循环改变
如何做到每画一个圆形的时候,都能从colors中挑选一个颜色来绘制呢?
22
随机选择
让计算机帮助我们从容器中选择一个颜色
第一步:从随机之家请出选择小子
第二步:由选择小子帮助我们选一个颜色
from