我需要找出毕达哥拉斯三元组的所有“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”而得到满分。这是我开发的-问题是,我没有任何方法删除重复。在
这就是我所拥有的:
^{pr2}$
不知道这是不是你想要的。。在
您可以从三元组的列表中删除重复项,例如
假设你得到了
list l
中的所有三胞胎从中删除所有重复项
^{pr2}$然后可以将其转换为list以进行进一步处理
就你而言
修改循环中迭代的列表不是个好主意
因为只要移除假设项1,item2就变成item1,但是循环已经在list中迭代item1,所以检查将被跳过,并且您将无法获得所需的输出
考虑一个小例子
在迭代列表时修改列表是to be avoided。在
通过简单的列表理解,可以按照您想要的方式删除元素:
不要将重复项放入数组中,然后使用一个过程将它们取出,只要不要将它们放在数组中。你可以改变
到
^{pr2}$并删除
for i in newlist:
循环及其所有内容。在(注意,a不能等于b,因为sqrt(2)是无理的。)
相关问题 更多 >
编程相关推荐