用python画简单的图形 您所在的位置:网站首页 python画苹果图案 用python画简单的图形

用python画简单的图形

#用python画简单的图形| 来源: 网络整理| 查看: 265

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有