2011-12-17 54 views
-5

我需要一些幫助,讓我的功能工作:蟒蛇,調試,功能無法正常工作

功能差異應該採取兩個密碼子(串),並返回一個包含0的列表,如果該位置的字母是相同和1如果不是,例如。差異( 'TAG',TAA ')應該返回[0,0,1]

def differences(codon1, codon2): 
    lst=[] 
    for i in range(len(codon1)): 
     if codon1[i] != codon2[i]: 
      lst.append(1) 
     else: 
      lst.append(0) 
    return lst #Is working, as far as I can see 


def differencesToO(codon):#the mistake is somewhere in here! 
    L=[] 
    O= ['TAG', 'TGA', 'TAA'] 
    for j in O: 
     s=differences(element,codon) 
     L.append(sum(s)) 
    b=min(L) 
    return (j,b,s) 

打印differencesToO(' TGT ')應返回(' TGA」,1,[0,0,1]), 但正在返回('TAA',1,[0,1,1])。

+1

能否請你說明你正在嘗試做的,究竟是什麼問題了嗎? – 2011-12-17 11:36:08

+1

'h'和'd'是功能相當可怕的名字。嘗試給他們有意義的名字,然後也許你打電話錯誤的事實會跳出你。 – Duncan 2011-12-17 11:41:34

+0

這是一個錯誤..但它仍然無法正常工作。 – 2011-12-17 12:07:49

回答

2

你打電話s=h(element,codon)當H被定義爲只接受一個參數:
def h(codon):