Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:在字符串中查找子字符串,但返回True或False而不是索引位置_Python_String_Find_Boolean - Fatal编程技术网

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

Python:在字符串中查找子字符串,但返回True或False而不是索引位置,python,string,find,boolean,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,但除了Tr

我需要检查子字符串是否是特定字符串的一部分。子字符串为“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?

您的函数应该只
在virus中返回'AAA'

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

>>> isResistent('GCAAGCTGGTCGTGAAAGCT')
True

你的函数应该只
在virus中返回'AAA'。

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

>>> isResistent('GCAAGCTGGTCGTGAAAGCT')
True

当您改用
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

当您改用
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

此代码的行为与您声称的不同。您可以在其他地方打印1或2左右。为什么
打印(“True”)
而不
返回True
?当我运行它时,它会打印一个数字,然后它会打印True…正如所声称的那样above@RoadRunner我尝试返回True,但如果我这样做,它只打印数字此代码的行为与您声称的不一样。您可以在其他地方打印1或2左右。为什么
打印(“True”)
而不
返回True
?当我运行它时,它会打印一个数字,然后它会打印True…就像声称的那样above@RoadRunner我尝试返回True,但如果我这样做,它只打印数字