为什么这两个字符串不匹配

2024-05-19 00:00:04 发布

您现在位置:Python中文网/ 问答频道 /正文

if __name__ == '__main__':

    str1 = str('exon_PF3DZ_0100100'.split())
    str2 = str('exon_PF3D7_0100100'.split())

    if str1 == str2:
        print 'True'
    else: print 'False'

然后在比较字符串之后创建一个新变量来存储结果 结果=“”

之后尝试使用for循环比较字符串

for letter in str1:
 for letter in str2:
    if letter(str1) != letter(str2):
        result = result + letter
        print (result)

出于某种原因,此代码返回 回溯(最近一次呼叫):

if letter(str1) != letter(str2):

TypeError: 'str' object is not callable

我不明白为什么这两个字符串不匹配?你知道吗


Tags: 字符串nameinforifmainresultsplit
1条回答
网友
1楼 · 发布于 2024-05-19 00:00:04

在循环中,变量letter是一个字符串,包含当前字符。这就是导致错误的原因(字符串不是函数,不能这样调用)。你知道吗

两个循环也使用相同的变量名,内循环覆盖外循环中letter的内容。您需要使用两个不同的变量。然后直接比较。比如:

for letter1 in str1:
    for letter2 in str2:
        if letter1 == letter2:
            # Do something here ...

相关问题 更多 >

    热门问题