Python基础绘图(turtle库)

您所在的位置:网站首页 turtle随机填充颜色 Python基础绘图(turtle库)

Python基础绘图(turtle库)

2024-07-11 04:40| 来源: 网络整理| 查看: 265

-----案例1:要求-----

使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为200、画笔为2号笔的正五边形,正五边形5个内角均为108度。效果如下图所示,箭头与下图严格一致。

-----案例1:代码示例----

import turtle turtle.pensize(2) d = 72 for i in range(5): turtle.seth(d) # 使用seth()函数设置turtle的朝向。 d += 72 # 每次循环完成时,d增加72度,直到完成一圈。 turtle.fd(200) # 使用fd()函数让turtle向前移动200个像素的距离。

-----案例2:要求-----

使用turtle库函数绘制4个等距排列的正方形,边长为40像素,间距宽度为40。最左边的正方形左上角坐标为(0.0)。效果如下图所示。

-----案例2:代码示例----

import turtle n = 4 # 定义多边形的边数为4 for j in range(n): # 循环4次 turtle.pendown() # 开始绘制,放下画笔 for i in range(4): # 对于每个四边形的边 turtle.fd(40) # 向前移动40个单位长度 turtle.right(90) # 右转90度 turtle.penup() # 提起画笔,不绘制 turtle.fd(80) # 移动80个单位长度,但不画线 turtle.done() # 运行主循环,保持窗口打开

-----案例3:要求-----

(1)使用turtle库和random库,在屏幕上绘制5个彩色的圆;

(2)圆的颜色随机从颜色列表color中获取;

(3)圆的起始坐标x和y值从范围[-100,100]之间选取,半径从范围[10,30]之间选取。

效果如下图所示。

-----案例3:代码示例----

# 导入turtle模块并别名为t,导入random模块并别名为r import turtle as t import random as r # 定义一个包含五种颜色的列表 color = ['red', 'green', 'blue', 'purple', 'black'] # 设置随机数种子为1,确保每次运行时生成相同的随机序列 r.seed(1) # 循环5次,代表将画5个圆 for j in range(5): # 随机选择颜色列表中的一种颜色作为画笔颜色 t.pencolor(color[r.randint(0,4)]) # 提起画笔准备移动 t.penup() # 随机生成(x, y)坐标,范围在-100到100之间 x = r.randint(-100, 100) y = r.randint(-100, 100) t.goto(x, y) # 移动到新的位置 # 放下画笔开始画圆 t.pendown() # 随机生成圆的半径,范围在10到30之间 radius = r.randint(10, 30) t.circle(radius) # 绘制指定半径的圆 # 结束turtle程序,进入主事件循环,显示窗口直到用户关闭 t.done()

-----案例4:要求-----

根据列表中保存的数据采用turtle库画直方图,显示输出在屏幕上,效果如下图所示。

ls = [69, 292, 33,131, 61, 254]

-----案例4:代码示例---- 

# 导入turtle模块并别名t,导入random模块并别名r import turtle as t import random as r # 定义一个长度列表ls ls = [69, 292, 33, 131, 61, 254] # 设置水平方向上的总距离X_len X_len = 400 # 设置垂直方向上的总距离Y_len Y_len = 300 # 设置起始点坐标x0和y0 x0 = -200 y0 = -100 # 提笔并移到指定坐标(x0, y0),然后落笔准备绘制 t.penup() t.goto(x0, y0) t.pendown() # 向前移动X_len的距离,再向后移动相同的距离,形成水平线 t.fd(X_len) t.fd(-X_len) # 将方向设置为正上方(顺时针旋转90度) t.seth(90) # 沿垂直方向前进Y_len的距离,完成画框 t.fd(Y_len) # 设置画笔颜色为红色 t.pencolor('red') # 设置画笔粗细为5个单位 t.pensize(5) # 遍历长度列表ls,绘制多个矩形 for i in range(len(ls)): # len()函数用于返回可迭代对象(如列表、元组、字符串等)的元素数量。 # 提笔并移动到下一个矩形的位置 t.penup() t.goto(x0 + (i+1)*50, -100) # 每次在x轴方向上增加50个单位 # 调整方向为正上方 t.seth(90) t.pendown() # 落笔绘制矩形 # 根据ls列表中的长度绘制矩形的长边 t.fd(ls[i]) # 结束主循环,显示窗口直到关闭 t.done()

-----案例5:要求-----

利用random库和turtle库,在屏幕上绘制4个小雪花,雪花的中心点坐标由列表points给出,雪花的半径长度由randint函数产生,雪花的颜色是红色。效果如下图所示。

 -----案例5:代码示例---- 

# 导入turtle库作为简写t,导入random库作为简写r 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): # 获取当前顶点的x、y坐标 x0, y0 = points[i] # 移动到当前顶点 t.penup() t.goto(x0, y0) t.pendown() # 随机生成线段长度 length = r.randint(6, 16) # 绘制内部角数为'angles'的星形 for j in range(angles): # 向前移动指定长度 t.fd(length) # 后退相同长度 t.backward(length) # 右转固定的角度 t.right(360 / angles) # 结束绘制并显示窗口 t.done() # 使用turtle库绘制了四个顶点组成的一个不规则星形,每个顶点连接由多个线段构成的闭合路径。线段长度在6到16之间随机取值,路径的角度由变量angles决定。

使用turtle库,在屏幕上绘制正方形及其内接圆形。其中,正方形左下角坐标为(0.0),边长为黑色,长度200像素,线宽1像素;内切圆为绿色,线宽5像素,内部以红色填充。示例如下: 

-----案例6:要求-----

 -----案例6:代码示例----  

# 导入turtle模块,用于图形绘制 import turtle as t # 使用循环绘制一个正方形 for i in range(4): t.fd(200) # 向前移动200个像素单位 t.left(90) # 左转90度 # 提起画笔,准备移动到新的位置 t.penup() t.goto(100, 0) # 移动到坐标点(100, 0) t.pendown() # 放下画笔,开始绘制 # 第一个参数设置画笔颜色为绿色边框,第二个参数设置为红色填充。 t.color('green', 'red') # 设置画笔宽度为5 t.pensize(5) t.begin_fill() # 开始填色 t.circle(100) # 绘制半径为100的圆形 t.end_fill() # 结束填色 # 显示并保持窗口打开 t.done() # 首先绘制了一个正方形,然后移动到指定位置,用绿色边框和红色填充绘制了一个圆形。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3