Python:在字符串中查找子字符串,但返回True或False而不是索引位置

时间:2017-12-08 13:30:15

标签: python string find boolean

我需要检查子字符串是否是特定字符串的一部分。子字符串是'AAA',如果在给定的字符串中找到它,它必须返回True。如果它不在字符串中,则必须返回False

def isResistent(virus):
    gen = "AAA"
    if gen in virus:
        print("True")
    else:
        print("False")

isResistent('GCAAGCTGGTCGTGAAAGCT')

它返回True或False,但除了True或False之外,它首先给出索引号或其他东西。当我多次运行程序时,它会返回:

输出:

2
True

1
True

2
True

4
True

0 
True

是否可以只打印True或False?

2 个答案:

答案 0 :(得分:4)

您的功能应该是return 'AAA' in virus

def isResistent(virus):
    return 'AAA' in virus

>>> isResistent('GCAAGCTGGTCGTGAAAGCT')
True

答案 1 :(得分:0)

当您使用return时,您的功能正常工作:

def isResistent(virus):
    gen = "AAA"
    if gen in virus:
        return True
    else:
        return False

>>> isResistent('GCAAGCTGGTCGTGAAAGCT')
True
>>> isResistent('GCAAGCTGGTCGTGGCTGCT')
False

我还会将gen作为函数参数包含在内,以便您以后可以测试"AAA"以外的其他子字符串:

def isResistent(virus, gen):
    return gen in virus

>>> isResistent('GCAAGCTGGTCGTGAAAGCT', 'AAA')
True
>>> isResistent('GCAAGCTGGTCGTGGCTGCT', 'AAA')
False
>>> isResistent('GCAAGCTGGTCGTGAAAGCT', 'AGC')
True
相关问题