Python Turtle学习第一章:用Turtle画一些简单的图形

前期准备

首先,使用Python内置的Turtle绘图库需要在程序前添加以下代码:

import turtle

也可以写成这样:

from turtle import *

我们来讲一讲它们的区别:
使用import时,需要定义一个变量作为参数控制项,如:

import turtle
t=turtle.Pen()
# 画图
t.forward(10) # 向右画10像素,详见下表

而使用from时,可以直接命令程序,不需要多余语句

from turtle import *

# 画图
forward(10) # 向右画10像素,详见下表

基本函数与用法

函数 功能
forward(x) 简写:fd(x) 前进x像素的长度,若为负值,则向反方向绘图。默认前进方向为
backward(x) 简写:bk(x) 前进x像素的长度,若为负值,则向反方向()绘图
goto(x,y) 从当前位置到(x,y)画线
circle(r,extent = x) 绘制半径为r,角度为x的弧形
left(x) 简写:lt(x) 向左转x
right(x) 简写:rt(x) 向右转x
pencolor("red") 设置画笔颜色为红色(可修改)
fillcolor("red") 设置填充颜色为红色
bgcolor(black) 设置背景色为黑色
down() 落笔函数,没有参数
up() 抬笔函数,没有参数
pensize(x) 设置画笔粗细为x
speed(x) 设置绘画速度为x,数值越大越快,0为最快
done() 暂停程序,停止画笔绘制,但绘图窗体不关闭,直到用户关闭Turtle图形化窗口为止,没有参数

绘画图形

一、画一个正方形

import turtle

t=turtle.Pen()
t.pencolor("orange") # 画笔颜色设置为橙色
for i in range(1,5):
    t.fd(50) # 向右画50像素
    t.lt(90) # 转90度,画下一条边

正方形

二、画一个三角形

步骤:先画一条边,右转120°,再画一条边,右转120°,最后画一条边

import turtle

t=turtle.Pen()

t.pencolor("orange") # 画笔颜色设置为橙色

t.fd(150)
t.rt(120)
t.fd(150)
t.rt(120)
t.fd(150)

三角形

三、画一个八角星

import turtle
t=turtle.Pen()
t.pencolor("orange")
for x in range(1,9): # 执行8次
	t.fd(100)
	t.lt(135)

八角星

四、画一个八边形

重点:每画一条边后都旋转45°

import turtle

t=turtle.Pen()
t.pencolor("orange")
for i in range(1,9): #循环8次
    t.forward(50) #画线
    t.right(45) #转向

八边形

我们还能通过Turtle画一些有趣的图形

五、其他图形

#test 1.1
import turtle

t=turtle.Pen()
t.pencolor("orange")

for i in range(1,4):
    t.fd(50)
    t.rt(120)
    t.fd(50)
    t.rt(120)
    t.fd(50)

1.1

import turtle         #导入turtle库
t = turtle.Pen()
t.pencolor("orange")
for i in range(5):    
    t.forward(100)      # 向右移动300
    t.right(180-180/5)  # 180-五角星的内角和/5
t.done()

五角星


到现在为止,我们画的图形都只有一种颜色,那么,怎样才能画出多种颜色的图案呢?

我们可以先定义一个颜色列表,在每次画的时候随机取出一种颜色,就可以画出多彩的图案

colors=["red","orange","yellow","green","blue","purple"]

随机取出颜色的代码:

t.pencolor([colors%5]) 

No.1、多彩的五角星

import turtle         #导入turtle库
t = turtle.Pen()
colors=["red","orange","yellow","green","blue","purple"]
for i in range(5):   
	t.pencolor(colors[i%5]) 
    t.forward(100)      # 向右移动300
    t.right(180-180/5)  # 180-五角星的内角和/5
t.done()

No.2、多彩的八角星

import turtle
t=turtle.Pen()
colors=["red","orange","yellow","green","blue","purple"]
for i in range(1,9): # 执行8次
	t.pencolor(colors[i%6])
	t.fd(100)
	t.lt(135)

No.3、四圆镶嵌

import turtle
t=turtle.Pen()
colors=["red","green","yellow","blue"]
for i in range(1,100):
	t.pencolor(colors[i%4])
	t.circle(i) #画圆
	t.lt(91)

No.4、彩虹螺旋

import turtle
t=turtle.Pen()
colors=["red","orange","yellow","green","blue","purple"]
turtle.bgcolor("black")
for i in range(500000):
	t.pencolor(colors[i%6])
	t.fd(i)
	t.lt(64)
	t.width(i/10-1)


物联沃分享整理
物联沃-IOTWORD物联网 » Python Turtle学习第一章:用Turtle画一些简单的图形

发表评论