下面是我编写的Python程序,它将十进制数转换为二进制。但是,我遇到了错误。有人可以帮忙吗?
def decimaltobin(n):
(ls,count,i)=([],0,0)
while(n>0):
ls[i]=n%2
n=n/2
i=i+1
while(i>0):
print(ls[i])
i=i-1
decimaltobin(8)
答案 0 :(得分:2)
您将ls
声明为空列表,这意味着您无法将元素ls[i]
设置为值,因为ls[i]
不存在。对于您的代码,应使用例如ls.append(n%2)
将新值添加到列表中。您还需要在第一个while循环中将i
递减为i-1
,以便在第二个while循环中正确调用ls[i]
。
def decimaltobin(n):
(ls,count,i)=([],0,0)
while(n>0):
ls.append(n%2)
n=n//2
i=i+1
i=i-1
while(i>=0):
print(ls[i])
i=i-1