Python:在字符串中查找子字符串,但返回True或False而不是索引位置
我需要检查子字符串是否是特定字符串的一部分。子字符串为“AAA”,如果在给定字符串中找到它,则必须返回True。如果它不在字符串中,则必须返回FalsePython:在字符串中查找子字符串,但返回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
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,但如果我这样做,它只打印数字