我的函数是用来求任意三角形的面积的。你知道吗
这是我知道的工作方式
def areaOfTriangle(vertices):
x1 = vertices[0][0]
y1 = vertices[0][1]
x2 = vertices[1][0]
y2 = vertices[1][1]
x3 = vertices[2][0]
y3 = vertices[2][1]
area = (1.0/2.0)*(x2*y3 - x3*y2 - x1*y3 + x3*y1 + x1*y2 - x2*y1)
return area
不过,我觉得这是废话,所以这是我的一个粗略的想法
def areaOfTriangle(vertices):
coord1 = vertices[0]
coord2 = vertices[1]
coord3 = vertices[2]
for x1,y1 in coord1:
for x2, y2 in coord2:
for x3, y3 in coord3:
area = (1.0/2.0)*(x2*y3 - x3*y2 - x1*y3 + x3*y1 + x1*y2 - x2*y1)
return area
然而,这显然不能很好地处理列表。我原以为这样可以从字典中获取键和值…但列表没有iteritems()方法。然后我想把列表转换成字典,但是这些键在dict中是唯一的,因此它们只会弹出一次……这会使我的功能无法正常工作。你知道吗
使用元组解包:
Python可以将嵌套序列解压到单独的变量中,只要在左侧创建相同的嵌套结构。你知道吗
循环将不起作用,因为您试图对每个循环迭代的2值元组进行解包,其中迭代只会产生1个值。你知道吗
这可以跨python版本工作。你知道吗
演示:
相关问题 更多 >
编程相关推荐