Oppgave 1 - Åpne og skrive til fil
Openopen-funksjonen i Python lager et fil-objekt og linker det til en fil på disken. Opprett en tekstfil kalt «test.txt» og lagre den i samme mappe som du jobber i. Du skal nå utføre en rekke operasjoner på denne filen:
...
Code Block | ||
---|---|---|
| ||
#1. Bob Bernt Bjornsdotter Ola Carina Aragusta Willy #2. Bob Bernt Bjornsdotter #3. Ola #4. Carina Aragusta |
Oppgave 3 - Skriving av numeriske data til fil
...
Oppgave 7 - Formasjonsteknologi grunnkurs
- Flygeskolen skal avholde sin årlige eksamen i Formasjonsteknologi grunnkurs. I den sammenheng er det viktig for de fagansvarlige – stuntlektor Due og professor Kråke - å melde inn hvilke studenter som skal få ta eksamen. I år har deler av øvingsopplegget vært obligatorisk.
Det er totalt 12 øvinger i faget. Følgende regler gjelder for å få godkjent øvingsopplegg:- minst 5 av de 6 første øvingene må være godkjent (øvingene 1–6)
- minst 4 av de 6 siste øvingene må være godkjent (øvingene 7–12)
- minst én av øvingene 11 og 12 må være godkjent
Skriv en funksjon
godkjent
som tar inn en liste med 12 tall (1 eller 0) som argument. 1 betyr godkjent og 0 betyr ikke godkjent. Eks.:liste = [1,0,0,1,1,0,1,1,1,0,1,0]
.liste
viser altså en student som har fått øvingene 1, 4, 5, 7, 8, 9 og 11 godkjent, hvilket ikke vil være tilstrekkelig for å få ta eksamen. Funksjonen skal returnere 1 hvis øvingsopplegget er godkjent og 0 hvis ikke, etter reglene beskrevet ovenfor.Code Block language py title Eksempel på kjøring: godkjent([1,1,0,1,0,0,1,1,1,1,1,1]) #Returnerer 0 godkjent([1,1,1,0,1,1,0,1,1,0,1,1]) #Returnerer 1
Last ned filen testdata.txt og legg den i samme mappe som programmet ditt.
Kopier koden under, lim den inn i programmet ditt undergodkjent
-funksjonen, og skriv inn manglende kode der '#skriv kode her' står.Code Block language py title Kode til oppgaven count = 0 f = #skriv kode her. Koden skal åpne en fil for lesing for line in f: candidate = line.split(':') candidate[1] = candidate[1].strip() # fjerner whitespace på starten og slutten av strengen med listen #Variabelen candidate er en liste på formen: [<navn>,<liste som streng>], eks.: ['Bob Bernt', '[1,0,0,1,1,0,1,0,1,1,0,1]'] lst = [] for ch in candidate[1]: if ch.isdigit(): lst.append(int(ch)) x = godkjent(lst) count += x #skriv kode her. Koden skal si om kandidaten bestod eller ikke print("Antallet studenter som bestod:",count)
Koden over fungerer som en test på
godkjent
-funksjonen din, og skal skrive ut:Code Block title Eksempel på kjøring: Bob Bernt bestod ikke Willy bestod Kant bestod ikke Descartes bestod ikke Wilbur Wright bestod Orville Wright bestod ikke Icarus bestod ikke Manfred von Richthofen bestod ikke Antallet studenter som bestod: 2
Oppgave 8 - Opprette dictionaries
Opprett et dictionary kalt «kokebok» og legg inn rettene «pasta carbonara», «sopp-risotto» og «pasta bolognese» som nøkler. Hver nøkkel har en tilhørende liste med ingredienser. Ingrediensene i pasta carbonara er fløte, pasta, bacon og egg, ingediensene i sopp-risotto er sopp, ris og fløte, og ingrediensene i pasta bolognese er pasta, kjøttdeig og tomatsaus.
Oppgave 9 - Hente, slette og legge til verdier fra en dictionary
Skriv ut ingrediensene i «pasta carbonara»
Legg til retten «kyllingsalat» med ingrediensene kylling, tomat, agurk og salat
Skriv kode som sjekker om «sopp-risotto» finnes i kokeboken og skriver ut True "sopp-risotto finnes i kokeboken" dersom dette stemmer og False ellers, og "beklager, sopp-risotto finnes ikke i kokeboken" ellers.
Fjern «pasta bolognese» fra kokeboken
Code Block language erl title Eksempel på kjøring: #1. ['fløte', 'pasta', 'bacon', 'egg'] #3. sopp-risotto finnes i kokeboken #kokeboken etter at alle punktene er gjennomført: {'pasta carbonara': ['fløte', 'pasta', 'bacon', 'egg'], 'sopp-risotto': ['sopp', 'ris', 'fløte'], 'kyllingsalat': ['kylling', 'tomat', 'agurk', 'salat']}
Oppgave 10 - Iterere over elementer i en dictionary
Skriv et program bestående av en for-løkke som skriver ut alle rettene som finnes i kokeboken og deres tilhørende ingredienser.
Code Block | ||
---|---|---|
| ||
pasta carbonara inneholder fløte, pasta, bacon, egg
sopp-risotto inneholder sopp, ris, fløte
kyllingsalat inneholder kylling, tomat, agurk, salat |
Oppgave 11 - Endre verdier i en dictionary
Legg til salt og pepper som ingredienser i alle rettene i kokeboken.
Code Block | ||
---|---|---|
| ||
#print(kokebok) skal gi:
{'pasta carbonara': ['fløte', 'pasta', 'bacon', 'egg', 'salt', 'pepper'],
'sopp-risotto': ['sopp', 'ris', 'fløte', 'salt', 'pepper'],
'kyllingsalat': ['kylling', 'tomat', 'agurk', 'salat', 'salt', 'pepper']} |
Oppgave 12 - Nyttige dictionaries metoder
Bruk innebygde funksjoner i denne oppgaven.
- Skriv ut alle rettene
- i kokeboken.
- Skriv ut alle listene av ingredienser som finnes i kokeboken.
- Fjern så alle elementene i kokeboken.
- Skriv ut kokeboken.
Code Block | ||
---|---|---|
| ||
#1. dict_keys(['pasta carbonara', 'sopp-risotto', 'kyllingsalat']) #2. dict_values([['fløte', 'pasta', 'bacon', 'egg', 'salt', 'pepper'], ['sopp', 'ris', 'fløte', 'salt', 'pepper'], ['kylling', 'tomat', 'agurk', 'salat', 'salt', 'pepper']]) #4 {} |
Oppgave 13 - Enkle sett-operasjoner
Opprett et sett kalt «primtall» med
primtall
med primtallene under 10.Skriv ut lengden på settet.
Legg til de neste to primtallene.
Fjern det minste elementet i settet.
Skriv et program som itererer over alle elementene i settet og skriver dem ut til skjerm.
Code Block | ||
---|---|---|
| ||
#2. 4 #5. 3 5 7 11 13 |
Oppgave 14 - Union og snitt av sett
Opprett et nytt sett kalt «oddetall» med
oddetall
med alle oddetallene under 15.Print snittet av settene
oddetall
ogprimtall
ved å brukeintersection(set)-
funksjonen.Print unionen av settene ved settene
oddetall
ogprimtall
ved å brukeunion(set)-
funksjonen.Print forskjellene mellom settene ved settene
oddetall
ogprimtall
ved å brukedifference(set)-
funksjonen.Bruk
issubset(set)-
funksjonen til å sjekke om «primtall» er et subsett av «oddetall»primtall
er et subsett avoddetall.
Code Block | ||
---|---|---|
| ||
#2.
{3, 5, 7, 11, 13}
#3.
{1, 3, 5, 7, 9, 11, 13}
#4.
{1, 9}
#5.
True |