我应该编写一个python 3函数,它接受三个参数——两个DNA片段字符串,然后是一个3-基模体,如果两个DNA片段都包含模体,则返回True,否则返回False。 我已经写了这个函数,但是它返回True或False并且没有。。。为什么? 谁能告诉我这里怎么了
def common_motif(dna_seq1, dna_seq2, x):
"""This function returns True if both DNA segments contain the motif, and False otherwise"""
count_1 = dna_seq1.count(x)
count_2 = dna_seq2.count(x)
if count_1 > 0:
if count_2 > 0:
print(True)
else:
print(False)
print(common_motif("GATGCGCACGCG", "ATGGATTACCAT", "GAT"))
True
None
它将
True
或False
打印为side-effect,并返回None
。通常,我们希望编写没有副作用的函数(所谓的“纯”函数),并从中返回我们需要的所有内容(调试时除外:调试时,我们始终从函数内部打印内容。)您可能想这样做:
注意,这可能仍然返回
None
,例如如果count_1 > 0
和count_2 < 0
。没有显式return
的Python函数只返回None
根据您想要的逻辑,您可以涵盖这种可能性,并将事情简化一点:
如果满足这两个条件,则返回
True
,否则返回False
相关问题 更多 >
编程相关推荐