Python:不使用内置函数的二进制计数

2024-06-26 18:06:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近在创建一个二进制从1到所选数字的程序时遇到了一些麻烦。你知道吗

这是我目前的代码:

num6 = 1
binStr = ''
num5 = input('Please enter a number to be counted to:')
while num5 != num6:
    binStr = str(num6 % 2) + binStr
    num6 //= 2

    num6 = num6 + 1

print(binStr)

例如,如果我输入5,它需要变成1,10,11,100,101。 我好像不太懂。任何帮助都将不胜感激,谢谢。你知道吗


Tags: to代码程序numberinput二进制数字be
1条回答
网友
1楼 · 发布于 2024-06-26 18:06:45

问题是你正在除以num6,这与输入的数字无关。你不需要计算你除以多少次,这样你就可以把num5除以2,然后取余数。我将二进制\u to \u字符串放在函数中,并将每个数字的字符串调用为输入值:

num5 = int(input('Please enter a number to be counted to:'))
for i in range(num5 + 1):
    binStr = ""
    decimal_number = i
    while decimal_number > 0:
        binStr = str(decimal_number % 2) + binStr
        decimal_number //= 2
    print(binStr)

相关问题 更多 >