擅长:python、mysql、java
<p>如果你想用x来检查每个因子中的数字,你需要迭代</p>
<pre><code>for n in factors: # iterate over the list
if x % n == 0: # check "n" each number in the list
factorList.append(n) # append n if the if statement is True
</code></pre>
<p><code>[1,2,3,4...] % 3</code>基本上就是您当前正在做的事情,而不是检查每个元素。你知道吗</p>
<p>你可以通过列表理解来达到同样的效果:</p>
<p><code>factorList = [n for n in factors if x % n == 0]</code></p>
<p>for循环和list理解都是等价的。你知道吗</p>
<p>要按所需格式打印:</p>
<pre><code>print "{} = {}".format(x," * ".join(map(str,factorList)))
</code></pre>
<p>如果您只是计划打印数字,可以在循环或列表中使其成为字符串:</p>
<pre><code>[str(x) for x in factors if n % x == 0]
print "{} = {}".format(x," * ".join(factorList))
</code></pre>
<p>要使用<code>join</code>元素必须是字符串,因此我们必须使用<code>str(x)</code>或使用<a href="https://docs.python.org/2/library/functions.html#map" rel="nofollow">map</a>将每个<code>int</code>转换为字符串。你知道吗</p>