Oppg-3-2

Ø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)