Du er ikke logget inn. Så lenge du ikke er logget inn går du glipp av muligheten for å holde styr på din egen progresjon.

Logg inn

Valgte tags:

Filtrering:

Skriv ut:

2.1.1: Beslutninger

Du skal nå lage tre forskjellige program som krever input, tar en beslutning og gir output.

  1. Lag et program som spør brukeren om alderen til brukeren. Skriv ut en kommentar som avhenger av om alderen er under eller over 30. Utvid så programmet til å skille mellom flere alderskategorier.

  2. Lag et program som tar et tall som input. Programmet skal så vurdere og skrive ut om tallet er et positivt tall, negativt tall eller null.

  3. Lag et program som tar to tall som input. Programmet skal skrive ut hvilket av tallene som er minst.

Vis løsningsforslag

Se i bunnen av feltet for en kommentar om konvertering av tekst til tall.

Oppgave 1
Først skal vi skille de over og under 30 år, det gjør vi med en if-else-statement:

alder = input("Hvor gammel er du? ") #henter inputverdi
alder = float(alder)                 #konverterer streng til float

if alder < 30:                      
    print("Under 30")                #printes hvis under 30
else:                                #ikke under 30, altså 30 eller eldre
    print("Over 30")                 #printes hvis 30 eller eldre

For å skille mellom flere aldersgrupper må vi legge inn flere beslutninger. Dette gjør vi ved hjelp av elif. Vi kan ha så mange elif vi vil, men i dette eksempelet bruker vi bare en, altså tre kategorier.

alder = input("Hvor gammel er du? ")
alder = float(alder)

if alder < 18:                      #hvis bruker er under 18
    print("Ungdom")
elif alder >= 18 and alder < 67:    #hvis bruker er 18 eller mer og samtidig under 67
    print("Voksen")
else:                               #hvis bruker er 67 eller eldre
    print("Pensjonist")

Oppgave 2
Nå skal vi vurdere om et tall er negativt, positivt eller null. Da kan vi lage en if-elif-else-statement. Oppgaven løses på samme måte som oppgave 1, men med andre betingelser og utskrifter.

tall = input("Hvilket tall vil du vurdere? ")
tall = float(tall)

if tall < 0:
    print("Tallet er negativt")
elif tall > 0:
    print("Tallet er positivt")
else:
    print("Tallet er null")

Oppgave 3
Denne oppgaven er veldig lik oppgave 2, bortsett fra at vi får input av to tall, og bruker andre betingelser og utskrifter..

tall1 = input("Skriv inn ett tall: ")
tall1 = float(tall1)
tall2 = input("Skriv inn enda ett tall: ")
tall2 = float(tall2)
if tall1 < tall2:
    print(tall1, "er minst")
elif tall1 > tall2:
    print(tall2, "er minst")
else:
    print("Tallene er like store")

Kommentar
Når vi ber om alder som input får vi et tall i tekstformat, som må konverteres til tallformat. Dette er de to første linjene i koden. Disse to linjene kan enkelt skrives på en linje ved å bruke float() rundt input(). Eksempel:

alder = float(input("Hvor gammel er du? ")) #får input og konverterer