我有代码来制作triacontagon(30边多边形)但是当我让它运行时,它只提供shell中的答案而不是实际的程序。这可能是由于我放在int旁边,但我不确定。谢谢!
代码
import turtle
numberOfSides = int(input('30'))
lengthOfSide = int(input('5'))
exteriorAngle = 360/numberOfSides
for i in range(numberOfSides):
turtle.forward(lengthOfSide)
turtle.right(exteriorAngle)
如果我理解正在发生的事情,你就会误解input()的使用。
input()
在运行时询问用户输入。假设在代码中你有x = int(input("Please type number of sides: "))
,然后要求用户输入,通常在终端输入,输入保存在变量x
中。 input()
的字符串参数在用户输入之前显示在终端中:它的目的是向用户提供他/她必须键入的内容的信息。
在您的情况下,如果您想绘制triacontagon,您可以这样编辑您的代码:
numberOfSides = 30
lengthOfSide = 5
您不需要input()
为变量分配已知值。
但是你的代码更通用,它可以绘制任何正多边形。为了更清楚,尝试以这种方式编辑它:
numberOfSides = int(input("Please type number of sides: "))
lengthOfSide = int(input("Please type length of sides: "))
它将根据您每次执行代码时给出的数字绘制一个正多边形(例如,如果键入4和10,则代码绘制一个每边长度为10的正方形)。
记得在脚本的末尾添加:
turtle.done()
否则窗口立即关闭。
你可以手动完成它,它会很长,但它会更容易。
这是你应该键入的代码:顺便说一下,这个三角形看起来不像一个三角形,更像是一个圆圈,但如果你看到代码,它就是一个三角形。 30面!!
from turtle import *
speed(1)
penup()
setpos(-250, 0)
down()
for i in range(72):
fd(10)
left(5)