擅长:python、mysql、java
<p>这就是你错的地方。您应该迭代整数,而不是范围函数给定的迭代器</p>
<p>用这个</p>
<pre class="lang-py prettyprint-override"><code>qubes=[]
for i in numbers:
c=(int(i)**len(numbers))
qubes.append(c)
</code></pre>
<p>而不是</p>
<pre class="lang-py prettyprint-override"><code>qubes=[]
for i in range(0,len(numbers)):
c=(int(numbers[i]))**len(numbers)
qubes.append(c)
</code></pre>
<p>此外,您正在将数字引用到自身<code>number=(int(number/10))</code>,因此结果值将是153,但数字值在最后将是0,因为您已减少了数字的值。因此,将number的值复制到另一个变量(下面代码中的num1)</p>
<p>完整代码:</p>
<pre class="lang-py prettyprint-override"><code>number=int(input("please enter a number: "))
num1 = number
numbers=[]
while number>0:
rem=number%10
numbers.append(rem)
number=int(number/10)
qubes=[]
for i in numbers:
c=(int(i)**len(numbers))
qubes.append(c)
result = sum(i for i in qubes)
print(result == int(num1))
</code></pre>