TypeError:使用字符串

时间:2017-04-23 22:54:33

标签: python loops typeerror

我很确定我的程序有另一个愚蠢的错误,但我找不到它。我试图谷歌一段时间,但到目前为止没有结果。

我正在尝试将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是否是回文。

2 个答案:

答案 0 :(得分:1)

DNA = DNA.upper()

如果没有括号,则表示名为upper的函数,但不执行它。 DNA成为函数,它不再是字符串。

答案 1 :(得分:1)

您的第DNA = DNA.upper行应为:

DNA = DNA.upper()

您已将函数DNA.upper分配给变量DNA,这就是它不再是字符串的原因。