我如何存储此结果而不是打印它

时间:2018-09-19 01:20:28

标签: python python-3.x

我正在研究将十进制转换为二进制的代码。我正在尝试使用数字的底数除法,然后对反向二进制数取模。

我的问题是,如果我要存储结果,只能让它通过for循环一次,但是如果我打印到屏幕上,它就可以正常工作……任何帮助将不胜感激:)

dec = input('Please enter number')

index = 0
i = 0
new_list = []
rem = ''
dec = int(dec)
if dec > 1:
    dec = (dec // 2)
    new_list = dec % 2

    new_list = str(new_list)


print(new_list[::-1], end='')

2 个答案:

答案 0 :(得分:1)

您可以改为使用while循环:

dec = int(input('Please enter number'))

output = ''
while dec > 0:
    output += str(dec % 2)
    dec //= 2

print(output[::-1], end='')

答案 1 :(得分:0)

我可能对这个问题有误解,但是您应该使用new_list.append(dec%2)来存储号码。这会将元素添加到列表中。如果您说new_list = dec % 2,则new_list变成int而不是list。我认为您最好使用while循环而不是for循环。检查此转换的一些算法。