让我们试着用最简单的方法来解决问题。首先,让你的多边形以窗口为中心。我们可以通过添加:turtle.backward(polygonSideLength / 2)
在填充多边形绘图开始之前。接下来,让我们把它放到窗口的上半部分,而不是下半部分。我们可以通过改变:
^{pr2}$
收件人:turtle.left(turnAngle)
换个方向画就行了。现在我们已经将多边形水平居中,垂直居中,我们只需在中心线下方写中心文本,该中心线由字体高度所取代(或两个以留出一些空间):fontSize = 18
...
turtle.goto(0, -fontSize * 2)
turtle.write("polygon drawn by: Name", align="center", font=("Arial", fontSize, "normal"))
将它们放在一起,并进行一些简单的样式更改,我们得到:import turtle
import random
colors = ["red", "green", "blue", "cyan", "magenta", "yellow"]
print('************************************************')
print('This program draws a randomly colored polygon')
print('with side lengths provided by the user.')
print('************************************************')
polygonSideLength = int(input('Enter length of polygon side: '))
numberOfSides = 5 + (28 // 4) # I assume this should be something more interesting...
turnAngle = 360 / numberOfSides
fontSize = 18
randomColor = random.randint(0, 5)
fillcolor = colors[randomColor]
print('Length of polygon side =', polygonSideLength)
print('Number of polygon sides =', numberOfSides)
print('Turn angle at each vertex =', turnAngle)
print('Random fill color is', fillcolor)
turtle.pen(pensize=5, pencolor="black", fillcolor=fillcolor)
turtle.backward(polygonSideLength / 2)
turtle.begin_fill()
for count in range(numberOfSides):
turtle.forward(polygonSideLength)
turtle.left(turnAngle)
turtle.end_fill()
turtle.penup()
turtle.setheading(270)
turtle.goto(0, -fontSize * 2)
turtle.write("polygon drawn by: Name", align="center", font=("Arial", fontSize, "normal"))
turtle.hideturtle()
turtle.done()