Kapitel 2
Variabler, datatyper och input
Lagra information, ta emot svar och använda rätt sorts värde.
Mål
Efter kapitlet ska du kunna...
- skapa variabler och tilldela värden
- skilja mellan
int,float,strochbool - skriva ut värden med f-strängar
- läsa in svar med
input() - omvandla text med
int()ochfloat()
2.1
En variabel lagrar ett värde
Tänk på variabeln som en låda med en etikett.
name→Värde: "Anna"name = "Anna"
Varför variabler?
Använd information senare
- Lagra information.
- Använd samma värde flera gånger.
- Ge värdet ett begripligt namn.
- Byt värde när programmet körs.
2.2 · Tilldelning
= betyder ”tilldela”
name = "Anna"
age = 17
Python sparar värdet till höger under namnet till vänster.
= betyder inte matematiskt ”lika med” här.
Hela programmet
Skapa och använd variabler
name = "Pelle"
age = 18
print(name)
print(age)
Pelle
18
Steg för steg
Vad händer i minnet?
name = "Pelle"Skapar namnet name och lagrar texten "Pelle".
age = 18Skapar namnet age och lagrar heltalet 18.
print(name)Hämtar värdet i name och skriver ut det.
2.3
Datatyp beskriver värdet
| Typ | Innehåll | Exempel |
|---|---|---|
int | heltal | 17 |
float | decimaltal | 21.5 |
str | text | "Anna" |
bool | sant eller falskt | True |
Fyra datatyper
Samma syntax – olika värden
age = 17
temperature = 21.5
name = "Anna"
student = True
Citattecknen gör "Anna" till text.
True skrivs med stor begynnelsebokstav och utan citattecken.
Kontrollera typen
type() visar datatypen
print(type(17))
print(type(21.5))
print(type("Anna"))
print(type(True))
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
Kontrollfråga
Vilka datatyper?
points = 10
price = 3.14
message = "Hej"
ready = False
Svar: int, float, str, bool.
2.4
Skriv ut ett variabelvärde
name = "Anna"Variabeln får ett värde.
print(name)Utan citattecken hämtas värdet i variabeln.
AnnaDetta blir programmets utskrift.
Text och värden
print() kan ta flera delar
name = "Anna"
age = 17
print("Hej", name)
print(name, age)
Hej Anna
Anna 17
Kommat gör att Python lägger in mellanslag mellan delarna.
F-strängar
Placera variabler i text
name = "Anna"
age = 17
print(f"{name} är {age} år gammal")
fstår före det första citattecknet.- Variabelnamnen står mellan
{och}. - Python ersätter namnen med deras värden.
F-sträng · resultat
Koden blir lätt att läsa
Kod
name = "Anna"
age = 17
print(f"Hej {name}")
print(f"{name} är {age} år")Utskrift
Hej Anna
Anna är 17 år2.5
input() väntar på ett svar
name = input("Vad heter du? ")Frågan visas och programmet pausar.
Användaren skriver ett svar och trycker Enter.
Svaret sparas i variabeln name.
Hela programmet
Fråga och svara
name = input("Vad heter du? ")
city = input("Vilken stad bor du i? ")
print(f"Hej {name}")
print(f"Du bor i {city}")
Vad heter du? Erik
Vilken stad bor du i? Malmö
Hej Erik
Du bor i Malmö
Viktig regel
input() ger alltid text
age = input("Hur gammal är du? ")
print(type(age))
Om användaren skriver 17 blir datatypen ändå str.
Tangentbordet lämnar alltså text till programmet.
2.6 · Problem
Text och tal kan inte adderas
age = input("Hur gammal är du? ")
print(age + 5)
age är str, men 5 är int.
Python stoppar programmet med ett TypeError.
Typomvandling
Gör texten till ett heltal
age = int(input("Hur gammal är du? "))
print(age + 5)
input()läser in text.int()omvandlar texten till ett heltal.- Heltalet sparas i
age. - Nu kan Python beräkna
age + 5.
Välj rätt omvandling
Tre användbara funktioner
| Funktion | Resultat | Exempel |
|---|---|---|
int() | heltal | int("17") |
float() | decimaltal | float("21.5") |
str() | text | str(17) |
Decimaltal
Använd float()
temperature = float(input("Vad är temperaturen? "))
print(temperature + 1)
Om användaren skriver 21.5 blir resultatet 22.5.
Ett decimaltal skrivs med punkt i Python.
Kontrollfråga
Vad skriver programmet ut?
age = int(input("Ålder: "))
print(f"Om fem år är du {age + 5} år")
Användaren skriver 17.
Svar: Om fem år är du 22 år.
2.7 · Vanliga fel
Kontrollera detaljerna
| Fel | Kontrollera |
|---|---|
print(Hej) | citattecken runt text |
prin("Hej") | stavningen av print |
print "Hej" | parenteserna |
input(...) + 5 | datatyp och int() |
Felsökning
Läs innan du ändrar
- Läs den sista raden i felmeddelandet.
- Identifiera feltypen, exempelvis
TypeError. - Hitta radnumret.
- Kontrollera värdenas datatyper.
- Rätta en sak och kör igen.
2.8 · Övning
Bygg en presentation
Programmet ska fråga efter namn, stad och favoritmat.
name = input("Vad heter du? ")
city = input("Vilken stad bor du i? ")
food = input("Vilken är din favoritmat? ")
print(f"Hej {name}")
print(f"Du bor i {city}")
print(f"Din favoritmat är {food}")
Övning · beräkning
Hur gammal om fem år?
- Fråga efter användarens ålder.
- Omvandla svaret med
int(). - Beräkna åldern om fem år.
- Skriv resultatet med en f-sträng.
- Testa med flera åldrar.
Sammanfattning
Kom ihåg
- En variabel har ett namn och lagrar ett värde.
=tilldelar ett värde.- Vanliga typer är
int,float,strochbool. - F-strängar placerar värden tydligt i text.
input()ger alltidstr.- Använd
int()ellerfloat()före beräkningar.