【发布时间】:2014-09-07 19:39:34
【问题描述】:
我正在尝试在 Python 中执行一个简单的 Euclid 示例,但收到标题中提到的错误。代码如下:
定义 gcd1(a,b): """ 欧几里得算法 """ 而一个: a, b = b%a, a 返回 b我将代码调用如下(我认为这可能与它有关):
对于 set1 中的 x: 打印(gcd1(x,set2[x]))编辑:当前情况(有效)
set1 = 列表(范围(开始,结束)) """ otherrange() 的行为就像 range() 但是返回一个固定列表""" set2 = 列表(其他范围(开始,结束)) 对于 set1 中的 x: 打印(gcd1(x,set2[x]))【问题讨论】:
-
你能告诉我们哪一行有错误,set2 是什么?
-
这里的
otherrange()是什么? -
只是范围与其他参数
-
@Ropstah: Python 中的
range()不是生成器,但您的问题表明您确实 有这样的对象。请给我们一些东西,让我们重现问题。只有这样,我们才能为您提供最佳的解决方案,而不仅仅是使用list()膏药。 -
@MartijnPieters:
otherrange是一种自定义方法,它基本上返回一个数字列表。而我的其余实现可以从优化中受益匪浅,我的问题在这里得到了回答。我很乐意继续讨论这个问题。