首页 > 解决方案 > 需要帮助将数字和基数转换为二进制吗?

问题描述

所以我编写了这段代码来获取用户输入的基数和用户输入的数字,并且应该将带有该基数的数字打印为二进制。它确实做了它应该做的事情,但它问我 3 次底数,然后给我正确的数字,这是代码

标签: pythonpython-3.xbinary

解决方案


所以我相信这是这个问题的副本,如果是这样,那么他们答案中的代码将起作用,您只需要对其功能使用基数 2:

def numberToBase(number, base):
    if number == 0:
        return [0]
    digits = []
    while number:
        digits.append(int(number % base))
        number //= base
    return digits[::-1]

所以在你的情况下:

print(numberToBase(int(input("What is your number?:")), 2))

或者如果你想要一个字符串表示,我会推荐这个:

def number_to_base(number, base):
    if number == 0:
        return [0]
    digits = []
    while number:
        digits.append(str(number % base))
        number //= base
    return "".join(digits[::-1])

推荐阅读