我的教授要求我们的班级编写一个Python函数,它的功能如下:
在一个名为star(turtle,n,d)的函数中画一个带d边的正规n尖星
这是我目前掌握的密码:
def star(turtle, n, d):
angle = (180-((180*(n-2))/n))*2
for i in range(n):
t.forward(d)
t.left(angle)
return angle
我遇到的问题是,我的函数只能绘制角数为奇数的星星(5、7、9边的星星)。当我让它画一个边数为偶数的恒星时,它输出边数为n/2的多边形。所以要求画一个8边的星输出一个正方形,6边输出一个三角形,等等。
我试过很多次改变角度公式,但它从来没有对任何给定的n起作用
谢谢你的帮助!
通过使用GCD例程查找coprimes并将失败视为异常,您可以使用相同的代码绘制大多数奇偶尖星:
对于从5到20的点,这只是找不到6的解决方案,您需要将其视为异常,即专用代码或只是让用户知道这是您无法处理的异常:
参数200的输出示例,“red”,10
你的公式有点错:
此代码将绘制任意点数大于5的星。
相关问题 更多 >
编程相关推荐