Ich nehme eine Codierungsklasse in Python 3 und ich brauche Hilfe herauszufinden, was mit meinem Code falsch ist. Grundsätzlich nehme ich eine mRNA-Sequenz und spleiße die Exons in der Sequenz aus. Ich gebe der Funktion eine Sequenz und die Position der Exons, und dann muss sie sie spleißen und die mRNA-Kette zurückgeben. Der Punkt der Zuweisung ist, dass wir keine List Comprehensions-, Split- oder Join-Methoden verwenden sollen. Hier ist, was ich bisher:Spleißen mRNA für eine Weile Schleifen
def splice(seq, exons):
newseq = ""
i = 0
for x in exons:
while i < len(seq):
if i == x[0]:
i += (x[1] - x[0])
else:
newseq += seq[i]
i = i + 1
return newseq
Wie es jetzt ist, meinen Code gibt die mRNA-Sequenz mit nur das erste Exon gespleißt und nicht von den anderen in der Liste der Exon-Standorten. Wie folgt aus:
>> splice("AAACCCTTTTGGGTTTAA", [(3,6), (10,16)])
'AAATTTTGGGTTTAA'
Es soll dies zurückkehren (für mein gegebenes Beispiel): ‚AAATTTTAA‘
Hat jemand irgendwelche Vorschläge, wie diese Arbeit zu machen? Vielen Dank! (Erinnerung, die ich nie vor diesem Semester außer ein klein wenig in Java codiert haben, so bitte nicht zu kritisch von mir.)
Ich glaube, Sie sind Missverständnis, was mein Code soll –
Ja tun, falsch verstanden ich. Probier diese. – Kidus
Ah, jetzt funktioniert das! Danke :) –