我需要找到毕达哥拉斯三元组的所有“a”和“b”值。例如,我会将数字指定为参数并为其查找所有毕达哥拉斯三元组。这是我的老师给我的一些示例代码:
>>> pytriples(5)
>>> [3,4,5] #would return this
>>> pytriples(25)
>>> [7,24,25] #would return this
>>> [15,20,25] #would return this
基本上,我需要编写 pytriples 程序,并且因为没有重复“a”和“b”而获得满分。这就是我开发的 - 问题是,我没有任何方法可以删除重复项。
这就是我所拥有的:
def pytriples(c):
newlist = []
for a in range(0, c):
if ((c**2 - a**2)**0.5)%1 == 0:
b = ((c**2 - a**2)**0.5)
newlist.append([a,b,c])
for i in newlist: #this part is supposed to remove the duplicates
print i[0] #was used for debugging but I could not figure out why duplicates were not removed
if i[0] >= i[1]:
newlist.remove(i)
return newlist