Instuderingsfrågor
Frågor att repetera med inför provet. Försök svara själv innan du fäller ut svaret — och testa gärna koden, antingen direkt i frågan eller under Verktyg → Python.
1. Grundläggande
Fråga · 1
Vad betyder begreppen program, instruktion och algoritm?
Visa svarDölj svar
En instruktion är ett enskilt kommando som datorn utför, till exempel print("Hej"). En algoritm är en steg-för-steg-beskrivning av hur ett problem löses. Ett program är en algoritm skriven i ett programmeringsspråk — en samling instruktioner som datorn kör i tur och ordning.
Fråga · 2
Vad gör funktionen print() i Python?
Visa svarDölj svar
Den skriver ut det som står inom parentesen på skärmen, till exempel text, tal eller värdet av en variabel.
Fråga · 3
Vad händer när man skriver input("Vad heter du? ") i ett program?
Visa svarDölj svar
Programmet skriver ut frågan och väntar tills användaren har skrivit något och tryckt Enter. Det användaren skrev blir ett värde — alltid en sträng — som man kan spara i en variabel: namn = input("Vad heter du? ").
Fråga · 4
Hur skapar man en variabel i Python, och vad betyder tilldelningstecknet =?
Visa svarDölj svar
Man skriver ett namn, ett likhetstecken och ett värde: ålder = 16. = betyder tilldelning: värdet till höger sparas i variabeln till vänster. Det är inte en jämförelse — den skrivs ==.
Fråga · 5
Vad är skillnaden mellan datatyperna int, float och str?
Visa svarDölj svar
int är heltal (17), float är decimaltal (0.67) och str är text ("hej"). Typen avgör vad man kan göra: 2 + 2 blir 4, men "2" + "2" blir "22".
Fråga · 6
Hur kan du ta reda på vilken typ en variabel har?
Visa svarDölj svar
Med type(), till exempel print(type(x)).
Fråga · 7
Hur omvandlar du strängen "42" till ett heltal?
Visa svarDölj svar
Med int(): int("42") ger heltalet 42.
Fråga · 8
Vad betyder operatorerna +, -, * och /?
Visa svarDölj svar
Addition, subtraktion, multiplikation och division. / ger alltid ett decimaltal, till exempel ger 7 / 2 resultatet 3.5. (** är upphöjt till, till exempel radie ** 2.)
Fråga · 9
Vad händer om du skriver "hej" * 3 i Python?
Visa svarDölj svar
Strängen upprepas tre gånger: "hejhejhej".
Fråga · 10
Vad betyder en f-sträng (f-string), och när används den?
Visa svarDölj svar
En f-sträng har ett f före citattecknet: f"Hej {namn}". Det som står inom klamrarna räknas ut och sätts in i texten. Den används när man vill blanda text och variabler, och är oftast mer lättläst än att slå ihop strängar med +.
2. Villkor och logik
Fråga · 11
Vad gör följande kod? Förklara rad för rad.
if ålder >= 18:
print("Du är myndig")
else:
print("Du är inte myndig")Visa svarDölj svar
- Rad 1 kontrollerar om
ålderär större än eller lika med 18. - Rad 2 körs bara om villkoret är sant, och skriver då ut ”Du är myndig”.
- Rad 3,
else, gäller när villkoret inte är sant. - Rad 4 skriver i så fall ut ”Du är inte myndig”.
Precis en av utskrifterna körs.
Fråga · 12
Vad betyder symbolerna ==, !=, >, <, >= och <=?
Visa svarDölj svar
==lika med!=inte lika med>större än,<mindre än>=större än eller lika med,<=mindre än eller lika med
Fråga · 13
Vad är skillnaden mellan and, or och not?
Visa svarDölj svar
a and b är sant om båda är sanna. a or b är sant om minst en är sann. not a vänder på värdet: sant blir falskt och falskt blir sant.
Fråga · 14
Vad händer om flera elif-villkor är sanna i samma if-sats?
Visa svarDölj svar
Bara det första sanna villkoret används. Python testar uppifrån och ner, och när ett villkor är sant körs den delen — resten hoppas över.
Fråga · 15
Hur kan man använda en if-sats för att kontrollera om en inmatning är giltig, till exempel inte tom?
Visa svarDölj svar
Jämför inmatningen med en tom sträng:
namn = input("Vad heter du? ")
if namn == "":
print("Du skrev ingenting!")
else:
print(f"Hej {namn}!")3. Loopar och repetition
Fråga · 16
Vad skriver följande kod ut?
for i in range(3):
print("Hej")Visa svarDölj svar
Hej skrivs ut tre gånger, eftersom range(3) ger värdena 0, 1 och 2.
Fråga · 17
Vad är skillnaden mellan en for-loop och en while-loop?
Visa svarDölj svar
En for-loop går igenom en bestämd följd av värden, till exempel range(10) eller en lista — man vet hur många varv det blir. En while-loop körs så länge ett villkor är sant, och passar när man inte vet i förväg hur många varv som behövs, till exempel tills användaren har gissat rätt.
Fråga · 18
Vad gör kommandot break inuti en loop?
Visa svarDölj svar
Det avbryter loopen direkt, och programmet fortsätter med koden efter loopen.
Fråga · 19
Vad gör funktionen range(0, 5)? Vilka värden genererar den?
Visa svarDölj svar
Talföljden 0, 1, 2, 3 och 4. Det sista talet, 5, kommer inte med.
Fråga · 20
Hur kan man skapa en loop som fortsätter tills användaren skriver ”sluta”?
Visa svarDölj svar
while True:
svar = input("Skriv något (sluta = avsluta): ")
if svar == "sluta":
break
print(f"Du skrev {svar}")4. Listor, dictionary och JSON
Fråga · 21
Hur skapar du en lista med tre djur och skriver ut det första djuret?
Visa svarDölj svar
djur = ["hund", "katt", "fågel"]
print(djur[0])Index börjar på 0, så det första djuret är djur[0].
Fråga · 22
Vad gör metoden .append() på en lista?
Visa svarDölj svar
Den lägger till ett element sist i listan, till exempel djur.append("kanin").
Fråga · 23
Hur kan du ta reda på hur många element som finns i en lista?
Visa svarDölj svar
Med len(), till exempel len(djur).
Fråga · 24
Vad är skillnaden mellan en lista och ett dictionary (dict)?
Visa svarDölj svar
I en lista ligger värdena i ordning och hittas med ett index (0, 1, 2 …). I ett dictionary hittas värdena med en nyckel, till exempel person["namn"].
Fråga · 25
Givet dictionaryt nedan — hur skriver du ut ämnet ”programmering”?
person = {"namn": "Ada", "ålder": 25, "ämnen": ["matematik", "programmering"]}Visa svarDölj svar
person = {"namn": "Ada", "ålder": 25, "ämnen": ["matematik", "programmering"]}
print(person["ämnen"][1])person["ämnen"] ger listan med ämnen, och [1] det andra ämnet i listan.
5. Felhantering, moduler och API
Fråga · 26
Vad är syftet med try och except i Python?
Visa svarDölj svar
Att ta hand om fel så att programmet inte kraschar. Koden som kan gå fel ligger i try; uppstår ett fel körs koden i except i stället.
Fråga · 27
Hur kan du få ett program att be användaren försöka igen om hen skriver in fel typ av data?
Visa svarDölj svar
Lägg try i en while True-loop och avbryt med break när inmatningen lyckas:
while True:
try:
tal = int(input("Skriv ett heltal: "))
break
except ValueError:
print("Det var inte ett heltal, försök igen.")Fråga · 28
Vad händer i följande kod? Prova att köra den med olika svar.
try:
tal = int(input("Skriv ett heltal: "))
print(10 / tal)
except ZeroDivisionError:
print("Du kan inte dela med 0!")
except ValueError:
print("Inte ett tal!")Visa svarDölj svar
- Skriver användaren 5 skrivs 2.0 ut, eftersom 10 / 5 = 2.0.
- Skriver användaren 0 uppstår ett
ZeroDivisionError, och ”Du kan inte dela med 0!” skrivs ut. - Skriver användaren till exempel hej kan
int()inte omvandla texten. Det blir ettValueError, och ”Inte ett tal!” skrivs ut.
Fråga · 29
Vad gör funktionen random.randint(1, 10)?
Visa svarDölj svar
Den ger ett slumpat heltal från 1 till och med 10. Modulen måste först importeras med import random.