用于将十进制转换为二进制的Python程序

时间:2018-09-01 14:46:14

标签: python

下面是我编写的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)

1 个答案:

答案 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