Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

c) Dere skal nå teste programmet deres. Skriv kode for å lese inn (hint, se forrige øving eller spør undass.) En fil dere kan teste på finnes her: Tabell.txt

Oppgave 3 - Formasjonsteknologi grunnkurs (filhåndtering)

Flygeskolen skal avholde sin årlige eksamen i Formasjonsteknologi grunnkurs. I denne 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:

  1. minst 5 av de 6 første øvingene må være godkjent (øvingene 1-6)
  2. minst 4 av de 6 siste øvingene må være godkjent (øvingene 7-12)
  3. minst én av øving 11 og 12 må være godkjent.

a) Skriv en funksjon, godkjent, som tar inn som parameter en tabell med 12 tall, der hvert tall er 1 eller 0. 1 betyr godkjent og 0 betyr ikke godkjent. 

Code Block
languagepython
[1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0]

Listen over viser altså en student som har fått øvingene 1, 4, 5, 7, 8, 9 og 11 godkjent. Dette er ikke tilstrekkelig for å få ta eksamen. Funksjonen du skriver skal returnere True hvis øvingsopplegget er godkjent og False hvis ikke, etter reglene beskrevet ovenfor.

 b) Skriv et lite program som tar inn en fil bestående av tusen slike kandidater. Programmet skal returnere hvor mange av kandidatene som får ta eksamen.

Framgangsmåte:

  1. Opprett en fil oving5_oppgave5.py
  2. Kopier koden for godkjent fra forrige deloppgave inn i den nye filen.
  3. Kjør følgende python-kode for å generere en fil med testdata:

    Code Block
    languagepython
    import random
    lines = 1000
    ovinger = 12
    f = open (" testdata .txt", "w")
    for i in range (0, lines ):
    	s = ''
    	for j in range (0, ovinger ):
    		s += str. format ('{0} ', random . randint (0,1))
    	f. writelines (s +'\n')
    f. close ()
  4. Legg den genererte “testdata.txt”-filen i samme mappe som oving5_oppgave5.py
    Filen kan lastes ned her: testdata.txt
  5. Skriv inn følgende kode i oving5_oppgave5.py:

    Code Block
    f = open ('testdata .txt ', 'r')
    for line in f:
    	candidate = line . split (' ')
    	candidate .pop ()
    	# Skriv din kode her
  6. Fyll så ut oving5_oppgave5.py med den nødvendige koden for å løse oppgaven.