我是python的初学者,正在用pythonturtle编写一个简单的程序,提示用户输入一个多边形的边长,该程序应该绘制多边形并在多边形下打印出人(我)的姓名。在
我已经让程序工作,但是我似乎不知道如何让文本打印在多边形下,因为边长可以由用户更改,所以多边形有时会消失,这取决于输入的边长有多大。在
程序应该是这样的: end result
但是,我的每次都是这样的: My result
我的代码如下:
import turtle
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: \n'))
numberOfSides = int(5 + (28 / 4))
turnAngle = 360 / numberOfSides
import random
randomColor = random.randint(0,5)
if randomColor == 0:
fillcolor="red"
elif randomColor == 1:
fillcolor="green"
elif randomColor == 2:
fillcolor="blue"
elif randomColor == 3:
fillcolor="cyan"
elif randomColor == 4:
fillcolor="magenta"
elif randomColor == 5:
fillcolor="yellow"
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.begin_fill()
turtle.pen(pensize = 5, pencolor="black", fillcolor = fillcolor)
count = 0
while (count < numberOfSides):
turtle.forward(polygonSideLength)
turtle.right(turnAngle)
count = count + 1
turtle.end_fill()
turtle.setheading(270)
turtle.penup()
turtle.forward(65)
turtle.left(90)
turtle.forward(130)
turtle.pendown()
turtle.write("polygon drawn by: Name", align = "right", font=("Arial", 12, "normal"))
turtle.hideturtle()
turtle.done()
有人能帮我修改一下代码吗?在
让我们试着用最简单的方法来解决问题。首先,让你的多边形以窗口为中心。我们可以通过添加:
在填充多边形绘图开始之前。接下来,让我们把它放到窗口的上半部分,而不是下半部分。我们可以通过改变:
^{pr2}$收件人:
换个方向画就行了。现在我们已经将多边形水平居中,垂直居中,我们只需在中心线下方写中心文本,该中心线由字体高度所取代(或两个以留出一些空间):
将它们放在一起,并进行一些简单的样式更改,我们得到:
相关问题 更多 >
编程相关推荐