欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用python画简单的图形

程序员文章站 2022-05-22 12:49:31
...

用python画几个简单的图形:

 

①三角形

用python画简单的图形

from turtle import *

for i in range(3):

    fd(180)

left(120)

②倒三角+正三角

用python画简单的图形

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

 

 

③正方形

用python画简单的图形

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()

 

 

④四条线

用python画简单的图形

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°

用python画简单的图形

 

 

⑤画五角星:

用python画简单的图形

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()                             #完成

 

 

⑥画五个同心圆:

用python画简单的图形

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()


⑦画一个回型

用python画简单的图形

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()就可以了

错误实例:

用python画简单的图形

代码:

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()

相关标签: python学习