使用Rectangle()函数在python中绘制具有不同边框样式的矩形
发布时间:2023-12-17 10:09:55
在Python中,我们可以使用turtle库来进行绘图,使用其中的Rectangle()函数绘制矩形,并使用不同的边框样式。
首先,我们需要导入turtle库,并创建一个画布和一个画笔对象:
import turtle canvas = turtle.Screen() pen = turtle.Turtle()
接下来,我们可以定义一个函数来绘制矩形,并设置不同的边框样式。在turtle库中,可以使用setpenstyle()函数来设置边框样式,其中边框样式可以是以下之一:
- 'solid':实线
- 'dashed':虚线
- 'dotted':点线
- 'dashdot':虚点线
- 'dashdotdot':双点线
def draw_rectangle(width, height, border_style):
pen.penup()
pen.goto(-width / 2, -height / 2)
pen.pendown()
pen.pensize(3)
if border_style == 'solid':
pen.pendown()
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
elif border_style == 'dashed':
pen.penup()
pen.forward(width)
pen.pendown()
pen.setpenstyle(2, (10, 5))
pen.forward(height)
pen.right(90)
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
elif border_style == 'dotted':
for i in range(4):
pen.pendown()
pen.forward(width)
pen.penup()
pen.forward(10)
elif border_style == 'dashdot':
pen.setpenstyle(4, (20, 10, 10, 10))
pen.pendown()
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
elif border_style == 'dashdotdot':
pen.setpenstyle(5, (20, 10, 10, 10, 10, 10))
pen.pendown()
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
else:
print('Invalid border style.')
pen.penup()
pen.goto(0, 0)
上述函数根据不同的边框样式设置了不同的绘制方式,并使用pen.setpenstyle()函数来设置虚线样式。注意,当边框样式为'dotted'时,我们使用了一个循环来绘制四个边框。
接下来,我们可以使用上述函数来绘制具有不同边框样式的矩形。例如,我们可以绘制一个宽度为200,高度为100的矩形,边框样式为'dashed':
draw_rectangle(200, 100, 'dashed')
使用不同的参数,我们可以绘制具有不同边框样式的矩形。下面是一个完整的例子,展示了如何绘制具有不同边框样式的矩形:
import turtle
canvas = turtle.Screen()
pen = turtle.Turtle()
def draw_rectangle(width, height, border_style):
pen.penup()
pen.goto(-width / 2, -height / 2)
pen.pendown()
pen.pensize(3)
if border_style == 'solid':
pen.pendown()
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
elif border_style == 'dashed':
pen.penup()
pen.forward(width)
pen.pendown()
pen.setpenstyle(2, (10, 5))
pen.forward(height)
pen.right(90)
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
elif border_style == 'dotted':
for i in range(4):
pen.pendown()
pen.forward(width)
pen.penup()
pen.forward(10)
elif border_style == 'dashdot':
pen.setpenstyle(4, (20, 10, 10, 10))
pen.pendown()
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
elif border_style == 'dashdotdot':
pen.setpenstyle(5, (20, 10, 10, 10, 10, 10))
pen.pendown()
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
pen.forward(width)
pen.right(90)
pen.forward(height)
pen.right(90)
else:
print('Invalid border style.')
pen.penup()
pen.goto(0, 0)
draw_rectangle(200, 100, 'solid')
draw_rectangle(200, 100, 'dashed')
draw_rectangle(200, 100, 'dotted')
draw_rectangle(200, 100, 'dashdot')
draw_rectangle(200, 100, 'dashdotdot')
turtle.done()
以上代码会绘制5个矩形,每个矩形的边框样式不同。
希望本文对您有所帮助,祝学习愉快!
