擅长:python、mysql、java
<p>代码的目标似乎是在元组列表中显示初始值到目标值的增量和幂运算的结果。
在我看来,代码是不正确的,因为它只输出初始值的结果。如果要打印初始值和目标值之间所有范围的值,请使用以下代码:</p>
<pre><code>def increment(n):
return n+1
def square(n):
return n**2
def find_sequence(initial,goal):
candidates = []
for i in range(initial,goal):
candidates.append((str(i), i))
newCandidates = []
for (action, result) in candidates:
for (a,r) in [(' increment',increment),(' square',square)]:
newCandidates.append((action+a,r(result)))
print (newCandidates)
find_sequence(1,3)
</code></pre>
<p>另外,它打印一个重复的元素,因为打印是在为操作列表指定的for上进行的。如果打印超出一级(如下所示),则不会复制:</p>
<pre><code>def increment(n):
return n+1
def square(n):
return n**2
def find_sequence(initial,goal):
candidates = []
for i in range(initial,goal):
candidates.append((str(i), i))
newCandidates = []
for (action, result) in candidates:
for (a,r) in [(' increment',increment),(' square',square)]:
newCandidates.append((action+a,r(result)))
print (newCandidates)
find_sequence(1,3)
</code></pre>