2015-10-20 79 views
-1

我想更改爲十進制的二進制數字。需要一些建議與賢者代碼

我在Sage上寫了這個函數,但它似乎沒有工作。這對我來說很重要,這就是我問這個問題的原因。

def bintodec(L): 
    L.reverse() 
    s=0 
    x=0 
    for x in L: 
     while x<len(L): 
      if L[x]==1: 
       s+=2^(L[x]) 
      x+=1 
    return s 

回答

0

你必須把

def bintodec(L): 
    L.reverse() 
    s=0 
    x=0 
    while(x<len(L)): 
     s=s+(L[x]*2^x) 
     x=x+1 
    return s 

def bintodec(L): 
    L.reverse() 
    s=0 
    i=0 
    for x in L: 
     s=s+(x*2^i) 
     i+=1 
    return s 

你是多餘的代碼。