Sannhetsverdier og vilkår

Sannhetsverdier

Sannhetsverdier kalles også boolske verdier.

Alle utsagn i Python evalueres til sann eller usann. Verdien sann kalles True, og verdien usann kalles False.

Vi bygger opp et utsagn i Python ved å sette sammen uttrykk med en eller flere relasjoner. Python har disse relasjonene:

Relasjon Betydning
== er lik
!= er ikke lik
< er mindre enn
<= er mindre enn eller lik
> er større enn
>= er større enn eller lik

Eksempler på noen utsagn er 3 < 2, 3 > 2, 3 != 2 og 'matematikk' == 'matematikk'.

For å teste om utsagnene blir evaluert til sann eller usann, kan vi skrive dem inn i konsollen:

>>> 3 < 2
False

>>> 3 > 2
True

>>> 3 != 2
True

>>> "matematikk" == "matematikk"
True

Vi kan bygge opp større utsagn med konjugasjonene «not», «and» og «or», som betyr henholdsvis «ikke», «og» og «eller». Vi prøver ut konjugasjonene i konsollen:

>>> 3 < 2 and 3 >  2
False

>>> 3 < 2 or 3 >  2
True

>>> not(3 < 2)
True

Vi legger merke til at et utsagn med «or» er sant hvis ett eller begge utsagn er sanne. For «and» gjelder det at begge må være sanne for at uttrykket skal være sant.

Vilkår

En helt grunnleggende egenskap ved programmering er at vi lar programmene våre velge hva som skal utføres, på bakgrunn av om en test viser at et utsagn er sant eller usant. I Python gjør vi dette med kontrollordet «if», etterfulgt av et utsagn og et kolon. Deretter kommer koden som skal utføres hvis utsagnet evalueres til True. Dette kan kombineres med kontrollordet «else», et kolon og til slutt en kode som skal utføres hvis utsagnet evalueres til «False».

Kontrollordene skal ikke være innrykket, men resten av kontrollstrukturen skal være innrykket ett nivå.

I Python er innrykket en del av rettskrivingsreglene, så innrykkene er avgjørende. I mange andre programmeringsspråk er innrykkene bare til hjelp for å lese koden.

Vi lager et program som oppretter to variabler, \(tall1\) og \(tall2\), ved å spørre brukeren om verdier, se linjene 1–2. Deretter avgjør programmet hvilken variabel som har størst verdi, se linje 3, og skriver en melding om dette til skjermen, se linjene 4 og 6:

tall1 = int(input('Skriv inn et heltall: '))
tall2 = int(input('OK. Skriv inn et nytt heltall: '))
if tall1 >  tall2:
    print(f'{tall1} er større enn {tall2}')
else:
    print(f'{tall1} er ikke større enn {tall2}')

Når vi kjører programmet og taster inn 12 og 8 underveis, får vi dette resultatet:

Skriv inn et heltall: 12
OK. Skriv inn et nytt heltall: 8
12 er større enn 8&/resultat;

I dette eksempelet blir svaret «12 er større enn 8», siden verdien av variabelen \(tall1\) er større enn verdien av variabelen \(tall2\). Utsagnet tall1 > tall2 er tolket til True, og linje 4 blir utført.

Når vi programmerer, blir innrykket ofte automatisk riktig, men det kan være nødvendig å rette opp manuelt. Det lønner seg å lage innrykk med tabulatortasten til venstre for Q på tastaturet. Da blir det minst feil. Innrykkene må være like på hvert nivå.

Når vi skal gjennomføre flere tester etter hverandre, kan vi også bruke kontrollordet «elif », en forkortelse for «else if».

Skriv et program som ber brukeren om et heltall, og avgjør om tallet er delelig med 3. Programmet skal svare hva resten er, når tallet ikke er delelig med 3.


tall = int(input("Skriv inn et heltall: "))

if tall % 3 == 0:
    print(f"{tall} er delelig med 3.")
elif tall % 3 == 1:
    print(f"{tall} er ikke delelig med 3. Divisjonen har 1 i rest.")
else:
    print(f"{tall} er ikke delelig med 3. Divisjonen har 2 i rest.")

Hvis vi kjører programmet og taster inn 35 underveis, får vi:

Skriv inn et heltall: 35
35 er ikke delelig med 3. Divisjonen har 2 i rest.

Det er ikke påkrevd å ha med «else». Det går fint å bruke en if-test uten «elif» eller «else».

Skriv et program som ber brukeren om et heltall og avgjør om tallet er mindre enn 5.


a = int(input("Skriv inn et heltall: "))

svar = "Variabelen a er større enn eller lik 5."

if a < 5:
    svar = "Variabelen a er mindre enn 5."

print(svar)

Hvis vi kjører programmet og skriver inn 34 underveis, får vi dette:

Skriv inn et heltall: 34
Variabelen a er større enn eller lik 5.

Skriv et program som ber brukeren om et tall og der etter skriver en melding om tallet er positivt eller negativt.

Lag et program som ber brukeren om to tall og sjekker om tallene er like. Programmet skal skrive resultatet til skjerm.

Skriv et program som ber brukeren om et heltall og deretter svarer om det er et oddetall eller partall.

Lag et program som ber brukeren om to tall og sjekker om tallene har ulike fortegn. Programmet skal skrive resultatet til skjerm.