用Python制作Triacontagon

问题描述 投票:-1回答:2

我有代码来制作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)
python polygon shapes
2个回答
0
投票

如果我理解正在发生的事情,你就会误解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()

否则窗口立即关闭。


0
投票

你可以手动完成它,它会很长,但它会更容易。

这是你应该键入的代码:顺便说一下,这个三角形看起来不像一个三角形,更像是一个圆圈,但如果你看到代码,它就是一个三角形。 30面!!

from turtle import *
speed(1)
penup()
setpos(-250, 0)
down()
for i in range(72):
    fd(10)
    left(5)
© www.soinside.com 2019 - 2024. All rights reserved.