Buchstaben in Sequenz erkennen, Python


RoadrunnersGhost

Grünschnabel
Hallo zusammen,

wir haben seit diesem Semester eine Bioinformatik Vorlesung und hatten gestern die erste Vorlesung über Python. Jede Woche müssen wir Assignments bearbeiten und ich hänge gerade an der vorletzten Aufgabe:

You can use for loops to iterate over the characters in a string. To do this you need to understand:

  1. for loops
  2. the range function, the len function
  3. how to select a character in a string by its index
Remember what the range function does. Which values will the loop variable i have over the course of the program? Now complete the following Python program that will print every occurence of the character A in the string s. Line 3 is partially given, fill in the missing part so that the program works as intended:

Python:
s="ACGTACGTA"
for i in range(len(s)):
    if :
        print("I just saw the character A at index", i)
Ich komme einfach nicht drauf, wie ich dem Programm sagen soll, dass es nach A suchen soll. über range(len(s)) wird die Sequenz ja auch in eine Zahlenfolge umgeschrieben. (len(s) wäre ja 9 und range(len(s) 0 bis 8). Ist das Ziel also einfach selber in den Code zu schreiben, wo A in der Sequenz steht? Dann wäre das Programm ja ziemlich nutzlos. Oder kann ich da irgendwie reinschreiben, dass er nach A suchen soll. Habe mich jetzt durch mehrere Foren gewühlt und zwar gefunden, dass das funktioniert, aber nicht mit den vorgegebenen Befehlen.

Viele Grüße

EDIT:

Ich hab jetzt einfach mal wild durch die Gegend probiert und bin auf die Lösung gekommen:

Python:
s="ACGTACGTA"
for i in range(len(s)):
    if s[i]=="A":
        print("I just saw the character A at index", i)
Um ehrlich zu sein verstehe ich nicht ganz warum das funktioniert. Falls mir das einer erklären könnte, wäre ich sehr dankbar :D
 
Zuletzt bearbeitet:

ComFreek

Mod | @comfreek
Moderator
Um ehrlich zu sein verstehe ich nicht ganz warum das funktioniert. Falls mir das einer erklären könnte, wäre ich sehr dankbar :D
Für jede mögliche Zeichenposition von i=0 bis len(s) = 9 [exklusiv, also nur bis 8] prüft der Code, ob der Buchstabe Position an i ein A ist. Wenn ja, dann ruft der Code print() auf.