编写一个程序,该程序使用乌龟图形绘制具有共同起点(顶点)的多个大小递增的等边三角形。该程序要求用户提供初始边长,两个连续三角形之间的增加以及要绘制的三角形总数。用户输入side = 50,increment = 20和三角形数= 5
时的输出示例import turtle
paper = turtle.Screen()
pen = turtle.Turtle()
for x in range(3):
pen.forward(20)
pen.left(120)
for x in range(3):
pen.forward(40)
pen.left(120)
for x in range(3):
pen.forward(60)
pen.left(120)
for x in range(3):
pen.forward(80)
pen.left(120)
for x in range(3):
pen.forward(100)
pen.left(120)
如何要求用户输入?
答案 0 :(得分:0)
这就是您想要的:
import turtle
paper = turtle.Screen()
pen = turtle.Turtle()
person = input('Enter your initial side length: ')
triangle = input('Enter the desired amount of triangles: ')
for k in range(int(triangle)):
for x in range(3):
pen.forward((k+1)*float(person))
pen.left(120)
现在应该会在控制台中显示一个文本,询问边距,然后键入一个数字,您的三角形就会出现。
编辑: 忘了,python以k = 0开头。因此将其更改为(k + 1)* float(person)。这应该给您以下图像:
答案 1 :(得分:0)
如果您正在运行Python 3,则有一种新的解决方法。最新的乌龟库添加了numinput(title, prompt, default=None, minval=None, maxval=None)
方法:
textinput()
因此,您可以使用GUI而不是控制台进行提示。 (还有一个类似的from turtle import Screen, Pen
paper = Screen()
length = paper.numinput("Triangles", "Enter initial side length:", default=40, minval=10, maxval=70)
increase = paper.numinput("Triangles", "Enter size increase:", default=30, minval=10, maxval=50)
# numinput() returns a float but we need an int for range()
triangles = int(paper.numinput("Triangles", "Enter the desired number of triangles", default=3, minval=1, maxval=5))
pen = Pen()
for triangle in range(triangles):
for _ in range(3):
pen.forward(length + triangle * increase)
pen.left(120)
paper.exitonclick()
方法。)使用这种方法的代码如下:
{{1}}