Presentationer Slide 1/1

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, str och bool
  • skriva ut värden med f-strängar
  • läsa in svar med input()
  • omvandla text med int() och float()

2.1

En variabel lagrar ett värde

Tänk på variabeln som en låda med en etikett.

Etikett: nameVä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 = 18

Skapar namnet age och lagrar heltalet 18.

print(name)

Hämtar värdet i name och skriver ut det.

2.3

Datatyp beskriver värdet

TypInnehållExempel
intheltal17
floatdecimaltal21.5
strtext"Anna"
boolsant eller falsktTrue

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.

Anna

Detta 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")
  • f stå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 år

2.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)
  1. input() läser in text.
  2. int() omvandlar texten till ett heltal.
  3. Heltalet sparas i age.
  4. Nu kan Python beräkna age + 5.

Välj rätt omvandling

Tre användbara funktioner

FunktionResultatExempel
int()heltalint("17")
float()decimaltalfloat("21.5")
str()textstr(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

FelKontrollera
print(Hej)citattecken runt text
prin("Hej")stavningen av print
print "Hej"parenteserna
input(...) + 5datatyp och int()

Felsökning

Läs innan du ändrar

  1. Läs den sista raden i felmeddelandet.
  2. Identifiera feltypen, exempelvis TypeError.
  3. Hitta radnumret.
  4. Kontrollera värdenas datatyper.
  5. 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?

  1. Fråga efter användarens ålder.
  2. Omvandla svaret med int().
  3. Beräkna åldern om fem år.
  4. Skriv resultatet med en f-sträng.
  5. 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, str och bool.
  • F-strängar placerar värden tydligt i text.
  • input() ger alltid str.
  • Använd int() eller float() före beräkningar.