程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python的turtle库的画图学习-附:五角星和太极图

hfteth 2025-01-05 15:40:18 技术文章 15 ℃

1. 安装背景

1.1 Turtle需要安装tkinter,然后python3.8系统自带

1.2 安装

python2下安装

sudo apt install python-tk

python3下安装

sudo apt install python3-tk #建议安装这个

2. 在python3下:import tkinter#t为小写

import turtle #不报错,说明安装

3. turtle库的模块导出:由于turtle库比较简单,所以库的导出,建议采用:

from turtle import * #从turtle中导出所有模块

因为之后的代码编写就比较简洁

4. 例子:画五角星

4.1 代码一:(比较简洁)

from turtle import * #从turtle中导出所有模块
fillcolor("red") #填充颜色
begin_fill() #开始画,类似起笔
count = 1 #计时器,用于计录次数
while count <= 5: #控制绘制次数
 forward(200) #画笔绘制的方向,向前移动指定的距离
 right(144) #向右转144度
 count += 1 #循环绘制
end_fill() #完成填充图片的绘制。
exitonclick() #可以关闭窗口的×结束退出

4.2 正常导出模块,代码二

import turtle #从turtle中导出所有模块
turtle.fillcolor("red") #填充颜色
turtle.begin_fill() #开始画,类似起笔
count = 1 #计时器,用于计录次数
while count <= 5: #控制绘制次数
 turtle.forward(200) #画笔绘制的方向,向前移动指定的距离
 turtle.right(144) #向右转144度
 count += 1 #循环绘制
turtle.end_fill() #完成填充图片的绘制。
turtle.exitonclick() #可以关闭窗口的×结束退出

4.3 效果图

5. 太极图(阴阳图)

5.1 代码:

 from turtle import * #从turtle中导出所有模块
radius = 100#半径为100
color("black", "black")#画线颜色黑色,填充颜色黑色
begin_fill()#开始填充
circle(radius/2, 180)#逆时针画圈,半径为50,180°
circle(radius, 180)#逆时针画圈,半径为100,180°
left(180)#转向180°
circle(-radius/2, 180)#顺时针画圈,半径50,180°
end_fill() #填充结束
#移动到画太极图黑色的小圈位置,开始画小白圈
left(90)#左转向90°,海龟头垂直水平线向上
pu()#penup,提笔,不留痕迹
fd(radius*0.35)#forward向前,半径的0.35=35像素
right(90)#右转向90°,海龟头与右侧水平线同向
pd()#pendown,落笔,开始画线
#开始画太极图黑色部分的小白圈
color("white", "white")#画线颜色为白色,填充颜色为白色
begin_fill()#开始填充
circle(radius*0.15)#逆时针画圈,半径的0.15=15像素(35+15+15+35=100)
end_fill() #填充结束
left(90)#左转向90°
up()#即pd,penup,提笔,不留痕迹
backward(radius*0.7)#后退往下走,为半径的0.7=70,此时海龟头朝上与水平垂直
down()#即pendown,pd,落笔,开始留下痕迹
left(90)#左转90°,此时海龟头与左侧水平同向
#开始画太极图白色部分里的小黑圈
color("black", "black")#画线颜色为黑色,填充为黑色
begin_fill()#开始填充
circle(radius*0.15)#开始逆时针画圈,半径的0.15=15个像素
end_fill() #填充完毕
right(90)#再右转90°,此时海龟头垂直水平线向上
pu()#penup,提笔,不留痕迹
backward(radius*0.65)#后退为半径的0.65=65个像素,往下到达太极图黑色半圈的底点处
right(90)#右转90°,海龟头与右侧水平线同向
pd()#pendown,落笔,开始留下痕迹
circle(radius, 180)#逆时针画圈,半径100,180°,画太极图的白色部分的大圈
ht()#隐藏笔头,即hideturtle
exitonclick() #可以关闭窗口的×结束退出

5.2 注意代码之后的注释说明

5.3 效果图:

Tags:

最近发表
标签列表