用python画简单的图形
程序员文章站
2022-05-22 12:49:31
...
用python画几个简单的图形:
①三角形
from turtle import *
for i in range(3):
fd(180)
left(120)
②倒三角+正三角
from turtle import*
fd(60)
right(120)
fd(120)
right(120)
fd(120)
right(120)
fd(60)
right(120)
fd(60)
left(120)
fd(60)
left(120)
fd(60)
up()
left(120)
down
③正方形
from turtle import *
setup(600,400)
title("正方形")
penup()
goto(-100,32)
pendown()
begin_fill()
for i in range(4):
forward(80)
right(90)
end_fill()
hideturtle()
done()
④四条线
from turtle import *
for i in range(4): #i从0-4(不包含4)循环
penup() #画笔悬空
fd(20) #朝画笔当前方向前进20
pendown() #画笔放下
fd(60) #朝画笔当前方向前进60
penup() #画笔悬空
fd(20) #朝画笔当前方向前进20
right(90) #画笔右转90°
⑤画五角星:
from turtle import *
setup(600,400) #设置画布大小
title("五角星") #标题名
bgcolor("red") #背景色(默认白色)
color("yellow","yellow") #图案颜色(默认黑色)
penup() #画笔抬起
goto(-100,32) #画笔移动至(-100,32)处
pendown() #画笔放下
begin_fill() #开始填充颜色
for i in range(5): #i从0-4开始循环
forward(200) #前进200
right(144) #右转144°
end_fill() #停止填充颜色
hideturtle() #隐藏画笔状态
done() #完成
⑥画五个同心圆:
from turtle import *
for i in range(5):
pensize(5) #画笔宽度
penup()
goto(0,-i * 10) #画笔每次从(0,-i*10)开始画
pendown()
circle(5 + i * 10 ) #画一个半径为5+i*10的圆
done()
⑦画一个回型
from turtle import *
for i in range(24):
length = 5 * (i + 1)
left(90)
fd(length)
left(90)
fd(length)
done()
【注】其实很简单,只要分析出箭头该在哪个节点开始循环就可以了。
1看最中间开始的地方,它的箭头朝上,默认箭头是朝右的,所以要先将它左转90°。
2我一开始的想法是五笔为一循环,所以for循环里有六个forward()和六个left()转向。但是出来的图案都不对,因为下一次的循环又从fd(length)开始,无论length如何改变都不会成功出现理想图案(下面有错误实例)。仔细看图发现第一笔和第二笔的长度相同,第三笔和第四笔的长度相同……,所以其实循环里只要两个left()转向和两个forward()就可以了
错误实例:
代码:
from turtle import *
for i in range(10):
penup()
length = 10 * (i + 1)
pendown()
left(90)
fd(length)
left(90)
fd(length)
left(90)
fd(length * 2)
left(90)
fd(length * 2)
left(90)
fd(length * 3)
left(90)
fd(length * 3)
done()
上一篇: C++-QT聊天工具-界面切换
下一篇: 建立工资计算系统(2)