擅长:python、mysql、java
<p>所以你有很多选择</p>
<p>也许最简单的方法就是这样做:</p>
<pre class="lang-py prettyprint-override"><code>rqn3 = int(input("Please enter a number: "))
for i in range(1, rqn3 + 1):
print(f'Decimal: {i} = binary: {i:b}')
</code></pre>
<p>输出:</p>
<pre>
Please enter a number: 10
Decimal: 1 = binary: 1
Decimal: 2 = binary: 10
Decimal: 3 = binary: 11
Decimal: 4 = binary: 100
Decimal: 5 = binary: 101
Decimal: 6 = binary: 110
Decimal: 7 = binary: 111
Decimal: 8 = binary: 1000
Decimal: 9 = binary: 1001
Decimal: 10 = binary: 1010
</pre>
<p>假设您想自己进行计算,可以使用<a href="https://docs.python.org/3/library/functions.html#divmod" rel="nofollow noreferrer">divmod</a>:</p>
<pre class="lang-py prettyprint-override"><code>rqn3 = int(input("Please enter a number: "))
for i in range(1, rqn3 + 1):
num = i
result = ""
while num != 0:
num, r = divmod(num, 2)
result = str(r) + result
print(f'Decimal: {i} = binary: {result}')
</code></pre>
<p>(输出同上)</p>
<hr/>
<p>你的问题是你的循环出现了问题。<code>while</code>循环为<em>a</em>数字生成二进制,因此它应该是您的内部循环。您的<code>for</code>循环提供了要处理的值</p>