2016-11-23 14 views
0

DNAシーケンスでいくつかの基本的なPythonを実行しようとしていますが、今は少し問題があります。forループで2つのリストを使用しようとしていません

これが私の最初のコードです:

def positie(enzyme): 
    pos = sequentie.find(enzyme.lower()) 
    print (pos) 

def searchopdracht(enzyme): 
    if enzyme.lower() in sequentie: 
     print(enzyme, " does cut, at location:") 
     positie(enzyme) 
     print(" ") 
    else: 
     print(enzyme, "does not cut") 
     print(" ") 

for enzyme in [DdeI, BspMII, EcoRI, HindIII, TaqI]: 
    searchopdracht(enzyme) 

次を出力する:

CTGAG does cut, at location: 1022 
TCCGGA does not cut 
GAATTC does cut, at location: 1449 
AAGCTT does cut, at location: 77 
TCGA does cut, at location: 171 

すべての罰金と作業が、私は、酵素の名前ではなく配列から表示させたいです、例えば、 "CTGAGは場所1022でカットされますが" DdeIは場所1022でカットされません "

これは私が試したものですが、出力はまったくありません。 estions:

def positie(enzyme): 
    pos = sequentie.find(enzyme.lower()) 
    print (pos) 

def searchopdracht(enzyme, enzyme_name): 
    if enzyme.lower() in sequentie: 
     print(enzyme_name," does cut, at location:") 
     positie(enzyme) 
     print(" ") 
    else: 
     print(enzyme_name, "does not cut") 
     print(" ") 

list1 = [DdeI, BspMII, EcoRI, HindIII, TaqI] 
list2 = ["DdeI", "BspMII", "EcoRI", "HindIII", "TaqI"] 

for (enzyme, enzyme_name) in (list1, list2): 
    searchopdracht(enzyme) 
+0

あなたのインデントが間違っています –

答えて

0

あなたはsearchopdracht()への引数としてenzyme_nameを渡し、そしてあなたの入力のタプルのペアを作成するためにzipを使用する必要があります。

for enzyme, enzyme_name in zip(list1, list2): 
    searchopdracht(enzyme, enzyme_name) # added argument 
関連する問題