在Python中反转数字

问题描述 投票:0回答:1

我目前正在学习 Python 入门课程,这是我正在进行的实验室之一。

这是实验室提示:

编写一个程序,输入一个正整数,输出一串由 1 和 0 组成的字符串,分别代表 逆二进制整数。对于整数 x,算法为:

只要x大于0 输出 x 模 2(余数为 0 或 1) 用 x 除以 2 来指定 x

注意:上面的算法以相反的顺序输出 0 和 1。

例如:如果输入是 6,则输出是 011

你会如何解决这个问题?

number = int(input('Enter your number\n'))
number_list = []

while number != 0:
    number = number // 2
    number_list.append((number % 2))
    number_list.reverse()
    print(number_list)

我尝试将数字转换为字符串,但没有成功。这是我最好的尝试。

python loops while-loop
1个回答
0
投票

通过将余数存储在列表中,您已经反转了列表。无需再次反转。然后再次 。 。 .

您只需存储余数,然后除以二。

然后在循环外打印答案:

number = int(input('Enter your number:'))
number_list = []

while number != 0:
    number_list.append((number % 2))
    number = number // 2

print(number_list)

输出示例:

Enter your number:12
[0, 0, 1, 1]
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.