怎么了?第一个参数-我需要int type和其他float的边数。你知道吗
import math
def polygon(num_of_edges, radius, startx, starty, turn_angle):
try:
num_of_edges = int(num_of_edges)
radius = float(radius)
startx = float(startx)
starty = float(starty)
turn_angle = float(turn_angle)
except ValueError:
print("All parameters not corect!")
else:
turn_angle = 90 - turn_angle
pirmais_angle = math.radians(turn_angle)
points = []
for i in range(num_of_edges):
angle = 2*math.pi*(-i)/num_of_edges+pirmais_angle
x = math.cos(angle)*radius+startx
y = math.sin(angle)*radius+starty
points.append((x, y))
return points
当我使用建议的输入运行时,我得到
这里的问题是,它甚至没有进入你的功能。Python已经知道
a
是未定义的,它甚至拒绝调用polygon。所以多边形中的测试甚至没有尝试过。你知道吗如果它能够进入函数,您仍然会得到一个
NameError
,而不是一个ValueError
。所以你的except
测试错误。你知道吗注意:对于所有错误输入,不能保证获得特定的错误类型。例如,exmaple
float(1+1j)
(复数的浮点)引发TypeError
。你知道吗相关问题 更多 >
编程相关推荐