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 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 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 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 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 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 svar

Med type(), till exempel print(type(x)).

Fråga · 7

Hur omvandlar du strängen "42" till ett heltal?

Visa svar

Med int(): int("42") ger heltalet 42.

Fråga · 8

Vad betyder operatorerna +, -, * och /?

Visa 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 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 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 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 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 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 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 svar

Jämför inmatningen med en tom sträng:

Python · du kan ändra koden
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?

Python · du kan ändra koden
for i in range(3):
    print("Hej")
Visa 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 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 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 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 svar
Python · du kan ändra koden
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 svar
Python · du kan ändra koden
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 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 svar

Med len(), till exempel len(djur).

Fråga · 24

Vad är skillnaden mellan en lista och ett dictionary (dict)?

Visa 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 svar
Python · du kan ändra koden
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 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 svar

Lägg try i en while True-loop och avbryt med break när inmatningen lyckas:

Python · du kan ändra koden
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.

Python · du kan ändra koden
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 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 ett ValueError, och ”Inte ett tal!” skrivs ut.

Fråga · 29

Vad gör funktionen random.randint(1, 10)?

Visa svar

Den ger ett slumpat heltal från 1 till och med 10. Modulen måste först importeras med import random.