# stel in wat je sequentie en motief is sequentie = "ACTGACTGACTG" motief = "CT" # de python find functie heeft de volgende kenmerken: # geeft altijd de letter positie terug waar hij de motief als eerst vind # geeft -1 terug als hij niks gevonden heeft # we willen bij het begin beginnen met zoeken (letter positie 0) startpositie = 0 # de gevonden posities slaan we op in een lijst genaamd 'gevonden' gevonden = list() # dit is een loop die eindeloos blijft herhalen, todat de break commando wordt gegeven while True: # zoek nu naar de motief, vanaf startpositie (welke nu nog 0 is). # sla de gevonden positie op in de variabele start (deze variabele krijgt dus een nieuwe waarde) startpositie = sequentie.find(motief, startpositie) # kijk nu naar de waarde die start positie heeft gekregen. Is deze -1? # dat betekend dat python niks meer gevonden heeft if (startpositie == -1): # dus eindig de loop en ga naar print hieronder break; # als het geen -1 is hebben we dus iets gevonden. # voeg de gevonden positie toe aan een lijst # doe wel + 1 hierbij, want python begint vanaf 0. Wij mensen tellen vanaf 1 ;). gevonden.append(str(startpositie+1)) # oke, we hebben dus iets gevonden, en doe de loop nog een keer. # om te voorkomen dat hij weer het zelfde motief vind, moeten we natuurlijk startpositie + 1 doen. startpositie = startpositie +1 # print het resultaat print " ".join(gevonden)
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question