If, elif og else
If, elif og else
Her kan du sjekke om du har fått med deg innholdet:
if
Dersom en bruker "if" kan en bestemme ut ifra en betingelse om en kode skal kjøres eller ikke.
navn=input("Hva heter du? ") #lagrer svar fra bruker i variabelen "navn"
if navn=="Per":#Sjekker om svar fra bruker er "Per".Legg merke til at vi bruker 2 likhetstegn for å sjekke om noe er likt.
print("Hei",navn,"kjekt å se deg igjen.") #Dersom bruker svarer "Per" skriver datamaskinen til skjerm "Hei Per kjekt å se seg igjen." Dersom bruker skriver noe annet, skjer det ingenting. Legg merke til at vi bruker innrykk på alt som hører til if.
print("Hade.") #Skriver "Hade." til skjerm uansett hva bruker har svart.
Skjerm dersom bruker svarer "Per":
Hva heter du? Per
Hei Per kjekt å se seg igjen.
Hade.
Skjerm dersom bruker svarer noe annet (Ole i dette eksempelet):
Hva heter du? Ole
Hade.
Legg merke til at i Python så bruker vi "=" for å tilegne en variabel en verdi, og "==" for å sjekke om en variabel har en verdi.
Det er også viktig å passe på innrykk i Python. Et innrykk forteller at linjen hører til kommandoen over. Av og til får vi flere kommandoer inni hverandre, og da er det viktig å holde orden på hvor mange innrykk de ulike linjene skal ha. Det kan være greit å bruke tabulator knappen til å velge antall innrykk
Dersom betingelsen for "if" ikke inntreffer, så hopper programmet over alt som står med innrykk under "if", og går videre til første linje som ligger på linje med "if". Altså første linje som ikke har noe innrykk i forhold til "if".
else
Dersom en vil at noe alternativt skal skje dersom "if" betingelsen ikke er tilstede, så kan en bruke "else". Vi bruker samme eksempel som over, men legger inn en "else" kommando.
navn=input("Hva heter du? ")
if navn=="Per":
print("Hei",navn,"kjekt å se deg igjen.")
else:
print("Hei",navn,"kjekt å hilse på deg.") # Denne linjen kjører kun dersom bruker ikke svarer "Per". Legg merke til at "else" står på linje med "if" selv om den hører til "if".
print("Hade")
Skjerm dersom bruker svarer "Per":
Hva heter du? Per
Hei Per kjekt å se seg igjen.
Hade.
Skjerm dersom bruker svarer noe annet (Ole i dette eksempelet):
Hva heter du? Ole
Hei Ole kjekt å hilse på deg.
Hade
Husk på at "else" skal stå på linje med den "if" kommandoen den hører til. Det som skal skje i "else" kommandoen må ha innrykk,
elif
Dersom en skal sjekke ulike betingelser, og en ønsker at ulike ting skal skje på de forskjellige betingelsene, bruker en "elif". En kan bruke så mange "elif" en vil etter en "if". En kan så velge om en ønsker å avslutte med en "else", eller bare gå videre i programmet. Vi ser igjen på eksempelet over.
navn=input("Hva heter du? ")
if navn=="Per":
print("Hei",navn,"kjekt å se deg igjen.")
elif navn == "Pål":# Denne linjen sjekkes kun dersom bruker ikke svarer "Per".
print("Hei",navn,"kjekt å se deg igjen.") # Denne linjen skrives bare dersom bruker svarer "Pål"
else:
print("Hei",navn,"kjekt å hilse på deg.") # Denne linjen kjører kun dersom bruker ikke svarer "Per" eller "Pål".
print("Hade")
Skjerm dersom bruker svarer "Pål":
Hva heter du? Pål
Hei Pål kjekt å se seg igjen.
Hade.
Det er også mulig å sette "if" kommandoer inni hverandre.
navn=input("Hva heter du? ")
if navn=="Per":
print("Hei",navn,"kjekt å se deg igjen.")
sjekk=input("Har du en bra dag?")
if sjekk=="Ja":
print("så bra!")
elif sjekk=="Nei":
print("så dumt!")
else:
print("Jeg forstår ikke svaret.")
elif navn == "Pål":
print("Hei",navn,"kjekt å se deg igjen.")
else:
print("Hei",navn,"kjekt å hilse på deg.")
print("Hade")
Minuskler og majuskler:
I eksempelet over er det viktig å skrive navnet med stor forbokstav.
En kan gjøre alle tegn små, eller store før en sjekker om navnet er likt, for å unngå at det har noe å si hva bruker velger. Da bruker en .lower(), eller .upper(). bak det en skal sjekke.
navn=input("Hva heter du? ")
if navn.lower()=="per":
print("Hei",navn,"kjekt å se deg igjen.")
elif navn.upper() == "PÅL":
print("Hei",navn,"kjekt å se deg igjen.")
else:
print("Hei",navn,"kjekt å hilse på deg.")
print("Hade")
Oppgave 1
Fullfør koden under (fjern prikkene og skriv koden som mangler) for å få den til å kjøre slik at print-setningene blir riktige ut fra hva som gis som input fra bruker.
a = int(input('Skriv inn et tall A mellom 1-10! '))
b = int(input('Skriv inn et tall B mellom 1-10! '))
if .........:
print("A er større enn B")
if .......:
print("A er ikke lik B")
elif .......:
print("B er større enn A")
else:
print('A er lik B')
Oppgave 2
Lag et program som kan regne både multiplikasjon og divisjon. Programmet skal spørre bruker om han ønsker å multiplisere eller dividere. Om bruker velger multiplikasjon skal programmet spørre om faktorer og så skrive produkt til konsoll. Om bruker velger divisjon skal programmet spørre bruker om divident og divisor, for så å skrive kvotient til konsoll.
Oppgave 3
Listen under er ingrediensene for å lage pannekaker.
Denne oppskriften gir 16 pannekaker.
8 stk egg
6 dl hvetemel
1 ts salt
10 dl melk
2 ss smør
Skriv et program som spør bruker om han vil lage 8, 16 eller 24 pannekaker, for så å skrive til konsoll en oppskrift med riktig mengde i forhold til valg.