5

PythonでDNAを逆補完するための次の式があります。

def complement(s): 
    basecomplement = {'A': 'T', 'C': 'G', 'G': 'C', 'T': 'A'} 
    letters = list(s) 
    letters = [basecomplement[base] for base in letters] 
    return ''.join(letters)
def revcom(s):
    complement(s[::-1])
print("ACGTAAA")
print(complement("ACGTAAA"[::-1]))
print(revcom("ACGTAAA"))

ただし、次の行:

print(complement("ACGTAAA"[::-1]))
print(revcom("ACGTAAA"))

互いに等しくない。一番上の行だけが答えを与えます。一番下には「NONE」と表示されます

これはなぜですか?

4

5 に答える 5

7

returnのステートメントを忘れましたrevcom。これを試して:

def revcom(s):
    return complement(s[::-1])

Python の関数から明示的に値を返さない場合、関数は を返しますNone

于 2013-10-24T15:58:14.727 に答える
1

returnからの結果が必要ですrevcom()

于 2013-10-24T15:58:18.903 に答える