Øving 3 – Oppgave 2
Du blir bedt om å lage et program som lagrer informasjon om været som har vært i løpet av én uke. Programmet skal lagre informajson om regnmengde(mm), vind(styrke, m/s) og temperatur(grader celcius) for hver av dagene. Programmet skal spørre brukeren om å legge inn informasjonen ved hjelp av en for-løkke som går gjennom alle dagene.
a)
Skriv programmet som beskrevet over.
Løsningsforslag:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ## a) svar days = [ 'Man' , 'Tirs' , 'Ons' , 'Tor' , 'Fre' , 'Lør' , 'Søn' ] week = {} # Initierer tom dict for d in days: # Itererer over dagene i uka print ( 'Været på' , d, ':' ) # Viser hvilken dag man er kommet til regn_ny = int ( input ( 'Hvor mange mm regn? ' )) vind_ny = int ( input ( 'Hvor mange m/s vind? ' )) temp_ny = int ( input ( 'Hvor mange grader celcius? \n' )) week[d] = regn_ny, vind_ny, temp_ny # Legger informasjon for dagen i en ny key print (week) |
b)
Hent ut informasjonen om regn, vind og temperatur i hver sin liste, regn ut og print gjennomsnittet for alle tre listene med en beskrivende tekst.
Løsningsforslag:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ## b) svar import numpy as np # Initierer lister for informasjonen som skal hentes fra week regn = [] vind = [] temp = [] for d in week: # Itererer over key'ene (dagene) i week regn.append(week[d][ 0 ]) # For hver dag, legg til informasjon om regn (første tallet i value'ene) vind.append(week[d][ 1 ]) # For hver dag, legg til informasjon om vind (andre tallet i value'ene) temp.append(week[d][ 2 ]) # For hver dag, legg til informasjon om temperatur (tredje tallet i value'ene) print ( 'Gjennomsnittlig mm regn var: ' ,np.mean(regn)) print ( 'Gjennomsnittlig m/s vind var: ' ,np.mean(vind)) print ( 'Gjennomsnittlig temperatur var: ' ,np.mean(temp)) |
c)
Bruk innebygde funksjoner til å finne dagene i uka som hadde enten i) vind over 10 m/s, ii) temperatur lavere enn 5c eller iii) mer enn 1mm regn. Legg disse dagene i en liste og print dem ut til konsoll med en beskrivende tekst.
Løsningsforslag:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ### c) svar dager_vind = [] dager_temp = [] dager_regn = [] # Finner dager med >10 m/s vind for key,value in week.items(): if value[ 1 ] > 10 : dager_vind.append(key) elif value[ 2 ] < 5 : dager_temp.append(key) elif value[ 0 ] > 1 : dager_regn.append(key) else : print ( 'Bare fint vær jo!' ) print ( 'Dagene med mer enn 10 m/s vind var:' , dager_vind) print ( 'Dagene med temperatur lavere enn 5c var:' , dager_temp) print ( 'Dagene med mer enn 1 mm regn var:' , dager_regn) |