2017-04-23 3 views
0

私のプログラムには間違いがありますが、見つけられません。私はしばらくそれをGoogleにしようとしましたが、これまでのところ結果はありません。TypeError:型 'builtin_function_or_method'のオブジェクトに文字列を使用しているときにlen()がありません

私はループのlenメソッドを使用しようとしています。私は問題なくプログラム内の別の機能にまったく同じ方法でそれを使用しましたが、この機能では、私はTypeError例外を取得:

def longestPalindrome(DNA): 
    """ 
    Finds the longest palindrome in a piece of DNA. 
    """ 
    DNA = DNA.upper #makes sure DNA is in all caps 
    longest = "" 

    for x in range(len(DNA)): 
     for y in range(len(DNA)): 
      long = DNA[x:y+1] 
      if checkPalindrome(long) and (len(long) > len(longest)): 
       longest = long   
    return longest 

DNAは、文字列であるとcheckPalindromeはかどうかをチェックする以前の関数でありますDNA断片はパリンドロームである。括弧なし

答えて

1
DNA = DNA.upper() 

、あなたはupperと呼ばれる関数を参照するが、それを実行されていません。 DNAは関数になり、もはや文字列ではありません。

1

あなたのラインDNA = DNA.upperは次のようになります。

DNA = DNA.upper() 

あなたは、それはもはや文字列である理由ではない変数DNAに機能DNA.upperを割り当てました。

関連する問題