""" Denne oppgaven har mange ulike l?sninger. Utfordringen er ? komme til riktig linje i filen og printe bokstaven p? riktig posisjon der. """ # L?sning 1: G? gjennom filen til vi kommer til kromosom 2, legg deretter hele sekvensen # for kromosom 2 inn i en streng, og hent ut bokstaven p? posisjonen i denne strengen # denne l?sningen leser ikke alle kromosomene inn i minnet, men bare ett kromosom. f = open("dna.txt") posisjon = 135851076 - 1 # trekker fra 1 fordi posisjonen antar at f?rste bokstav er 1, neste 2 osv (mens i python er f?rste 0) i = 0 legg_til = False # hvorvidt vi har kommet til kromosom 2 og skal begynne ? legge til sekvense til dna-strengen dna = "" for line in f: if line.startswith(">"): if line.startswith(">2"): legg_til = True else: # ikke legg til noe etter kromosom 2 legg_til = False elif legg_til: dna += line.strip() print(dna[posisjon]) # L?sning 2: # Her leser vi inn alle linjene med readlines() f?rst, s? denne l?sningen er litt tregere og krever mer minne # l?sningen g?r deretter gjennom linjene til kromosom 2 # merk at denne l?sningen ikke fungerer hvis det ikke er et kromosom nr. 3 som kommer etterp? fil = open("dna.txt") linjer = fil.readlines() indeks_start = linjer.index(">2\n") indeks_end = linjer.index(">3\n") kromosom = "" for i in range(indeks_start+1, indeks_end): kromosom += linjer[i].strip() print(kromosom[posisjon])