2. Styrstrukturer

Programmeringsteknik

Hoppa till: navigering, sök

Innehåll

Villkor

Problem: Mamma ska resa till mormor över helgen. Hon är orolig för att lille Lasse, som ska vara alldeles ensam hemma, kommer att klä sig för tunt och vill därför ha ett program som hjälper honom med klädseln.

För att kunna skriva ett sådant program behöver vi lära oss två saker: hur man läser inmatning från tangentbordet och hur man jämför tal.

Inläsning

För att läsa från tangentbordet använder man en input-sats, t ex


Python
temperatur = input()

Efter denna sats kommer variablen temperatur att innehålla det som den som körde programmet skrev på tangentbordet (och avslutade med returtangenten). Tyvärr är det svårt för den som kör programmet att fatta att det är just temperatur som ska matas in eftersom programmet inte frågar efter något. Det fixar man lätt med en print-sats:


Python
print "Ge utetemperatur: "
temperatur = input()

Den här konstruktionen (skriv ut fråga och läs in svar) är så vanlig att man ordnat ett förkortat skrivsätt för den:


Python
temperatur = input("Ge utetemperatur: ")

Viktigt att förstå är att input-satser läser inmatningen i den ordning den kommer. Det går inte att hoppa över någon del av inmatningen. Om någon skriver t ex 17[retur]42[retur] och du endast vill läsa det andra talet (42) måste man först läsa det första (17).

Villkor

Konstanter

Programmerare och andra nördar är kända för sin torra humor. Ett sätt att införa det i programmet är att införa en konstant. En konstant i Python är precis som en variabel, men som en konvention skriver man variabelnamnet med versaler, t ex:

Python
MAMMAS_FRYSPUNKT=5
temperatur = input("Ge utetemperatur: ")
if temperatur < MAMMAS_FRYSPUNKT:
    print "Ta på dej en halsduk, lille vän!"

En konstant ändrar inte funktionen i ett program från användarens sida, men det gör programmet lättare att modifiera för programmeraren (ffa om programmet är stort) och rätt använd kan den också göra programmet tydligare.

Else-del i if-sats

Flera villkor

Likhet

While-slingor

Hur exekveras programmet?

En oändlig while-slinga

Struktur på while-sats

När ska man använda en while-sats?

Personliga verktyg