我正在研究将十进制转换为二进制的代码。我正在尝试使用数字的底数除法,然后对反向二进制数取模。
我的问题是,如果我要存储结果,只能让它通过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='')
答案 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
循环。检查此转换的一些算法。