无法获取要循环复制的二进制代码



首先,我对编码一般都是新手,这是我第一篇寻求帮助的帖子之一,如果我遗漏了什么,很抱歉。我正在用python编写一段代码,以获得以下输出:

Please enter 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

我已经被困了很长一段时间,我想我最好的选择是在这里询问。

rqn3=int(input("Please enter a number: "))
while decimal < rqn3:
for decimal in range(1, rqn3+1):
remainder = rqn3 % 2
rqn3 = rqn3 // 2
answer = str(remainder) + answer
decimal+1
print("Decimal:",decimal ,"= binary:",answer)
decimal+1

结果:

Please enter a number: 2
Decimal: 1 = binary: 0
Decimal: 2 = binary: 10

您可以使用内置的方法转换为二进制。有关bin方法的详细信息,请访问https://docs.python.org/3/library/functions.html#bin

rqn3=int(input("Please enter a number: "))
for i in range(1,rqn3+1):
print("Decimal:",i ,"= binary:",bin(i)[2:])

因此您有许多选项。

也许最简单的方法就是这样做:

rqn3 = int(input("Please enter a number: "))
for i in range(1, rqn3 + 1):
print(f'Decimal: {i} = binary: {i:b}')

输出:

请输入一个数字:10小数:1=二进制:1小数:2=二进制:10小数:3=二进制:11小数:4=二进制:100小数:5=二进制:101十进制:6=二进制:110十进制:7=二进制:111十进制:8=二进制:1000十进制:9=二进制:1001小数:10=二进制:1010

假设你想自己计算,你可以使用divmod:

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}')

(输出同上(


您的问题是循环出现故障。while循环为一个数字生成二进制,因此它应该是您的内部循环。您的for循环提供要处理的值。

最新更新