最近刚开始学python,有很多东西记了忘,忘了记,所以就写写东西。记一下。

第一个:画三角形。

import turtle
for i in range(3):
    turtle.seth(i*120)
    turtle.fd(100)
    turtle.hideturtle()

运行结果如下:

for...in是Python中的循环结构,就不用介绍了,range函数可以迭代地生成一组数字序列,这个功能在循环语句中特别有用,具体用法大家可以搜索一下,seth函数作用为设置画笔前进方向的角度,其实也可以用right(120),left(120)等调整角度,right与left函数则是使画笔顺时针或逆时针移动,fd函数为绘制三角形的边长。hideturtle函数是隐藏画笔。

第二个:画正方形。

import turtle
for i in range(4):
    turtle.seth(i*90)
    turtle.fd(100)
    turtle.hideturtle()

方法二:

import turtle
x=0
for i in range(4):
      turtle.fd(100)
      x=x+90
      turtle.seth(x)

运行结果如下:

第三个:画 五边形

import turtle
turtle.pensize(2)
for i in range(5):
    turtle.seth(i*72)
    turtle.fd(100)
    turtle.hideturtle()

pensize函数为控制画笔的大小。运行结果如下:

 其实不管画几变形,只要知道内角的度数是多少就好,这就是数学知识了,n边形的内角度数=(n-2)*180/n。

第四个:画五角星。

from turtle import *
for i in range(5):  
   fd(100)
   right(144)

 我们在用turtle函数画图时,如果只是几条数据的话还好,但是很多图像需要几百或几千代码,这时候用import turtle 导入turtle包的话,需要每次都加上一个turtle.如果使用from turtle inport *则是没有导入turtle包,但是导入了这个包内的所有成员,随后便可以直接调用,但是也要注意这里没有导入turtle包,所以有些函数也不能使用。图像如下:

第五个:画太阳花。

import turtle
turtle.color('red','yellow')
turtle.begin_fill()
for i in range(36):
    turtle.hideturtle()
    turtle.fd(200)
    turtle.left(170)
turtle.end_fill()

 color表示画笔颜色,begin_fill()表示准备开始填充图像,end_fill()表示填充完成。

 第六个:画红心。

from turtle import *
def curvemove():
    for i in range(200):
        right(1)
        forward(1)
setup(600,600,400,400)
hideturtle()
pencolor('black')
fillcolor("red")
pensize(2)
begin_fill()
left(140)
forward(111.65)
curvemove()
left(120)
curvemove()
forward(111.65)
end_fill()
penup()
goto(-27, 85)
pendown()
pencolor("black")
goto(-25,85)
write("I Love Python",font=('Arial',12,'bold italic'))
hideturtle()
done()

setup函数为在屏幕上创建一个自定义的画布,goto为找到画布上的坐标,write函数为写入,'Arial'为字体,12为字体大小,'bold italic'为设置斜体。write里面的内容各位可以拿去改一下给自己女朋友看看,图像如下:

第七个:画随机的四个雪花。

import turtle as t
import random as r

r.seed(1)
t.pensize(2)
t.pencolor('red')
angles = 6
points= [[0,0],[50,40],[70,80],[-40,30]]

for i in range(4):
    x0,y0 = points[i]
    t.penup()
    t.goto(x0,y0)
    t.pendown()

    length = r.randint(6, 16)
    for j in range(angles):
        t.fd(length)
        t.backward(length)
        t.right(360 / angles)
t.done()

random为python的随机数包,r.seed()为设置种子变量,利用for i in range(4)函数外部循环获得坐标值,for j in range(6,16)内部循环获得绘制雪花。backward为将画笔移到原来的位置。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐