擅长:python、mysql、java
<p>存在多个问题:</p>
<ol>
<li>修改原始编号(<code>num</code>)并打印修改后的值</李>
<li>在尝试除2以外的任何其他除数之前<code>break</code></李>
<li>如果<code>num > 1</code>,则只需<code>print</code>返回结果</李>
</ol>
<p>以下是一个工作实现:</p>
<pre><code># Back up original number for future use:
original_number = num
factors = []
d = 2
while d*d <= num:
while (num % d) == 0:
factors.append(d)
num //= d
d += 1
# There shouldn't be a break here
if num > 1:
factors.append(num)
# Fixed the indentation of the following line so that
# it is always printed, and print original_number
# instead of num as the latter has been modified.
print('The factors of {} are:'.format(original_number), factors)
</code></pre>