我试图在Python中执行一个简单的Euclid示例,但收到标题中提到的错误。代码如下:
def gcd1(a,b): """ the euclidean algorithm """ while a: a, b = b%a, a return b
我按如下方式调用代码(我认为这可能与它有关):
for x in set1: print(gcd1(x, set2[x]))
编辑:当前情况(有效)
set1 = list(range(start, end)) """ otherrange() behaves just like range() however returns a fixed list""" set2 = list(otherrange(start, end)) for x in set1: print(gcd1(x, set2[x]))
答案 0 :(得分:4)
这意味着set2
是一个生成器,为了解决这个问题,只需将其转换为列表。
set2_list = list(set2)
for x in set1:
print(gcd1(x, set2_list[x]))