我需要帮助python 3中的赋值。我需要创建一个返回核苷酸补码的函数

时间:2017-01-18 16:25:42

标签: python

该函数返回如下消息:

<function contains_sequence at 0x04020270>

然而,它返回正确的anwser,但该消息不能在shell中。 所以我的代码是这样的:

def contains_sequence(dna1, dna2):
    """ (str, str) -> bool

    Return True if and only if DNA sequence dna2 occurs in the DNA sequence
    dna1.

    >>> contains_sequence('ATCGGC', 'GG')
    True
    >>> contains_sequence('ATCGGC', 'GT')
    False
    """

    if dna2 in dna1:
        print (True)
    else:
        print (False)

    return contains_sequence

2 个答案:

答案 0 :(得分:0)

如果你想做的是“返回核苷酸的补码”,那么你应该print而不是True Falsereturn。{{1它,而不是函数。

if dna2 in dna1:
    return True
else:
    return False

请注意,这可以缩短为

return dna2 in dna1

然后删除行return contains_sequence

答案 1 :(得分:0)

您的函数当前输出字符串x_id'stag_id's,不返回布尔值"True""False",然后无条件返回参考函数本身。

您需要返回True比较结果,您可以使用

False

或更具惯用力

in