SA

Programmering 1 – Grundläggande Pythonbegrepp

Print-kommandot

  • Syfte: Skicka ut ("printa") text eller resultat till skärmen.

  • Grundläggande syntax:

    • \texttt{print("Hello")} skriver ut texten Hello

    • \texttt{print(3)} skriver ut heltalet 3

  • Kombinera text och tal:

    • Separera delar med kommatecken:
      \texttt{print("Du ska betala:", 38 + 11 + 8, "kr.")}

  • Escape-sekvenser i strängar:

    • Ny rad: \texttt{\n}

    • Tab/indentering: \texttt{\t}

    • Exempel: \texttt{print("Languages:\nPython\tJava\nJavaScript")}

  • Viktigt: Allt inom citattecken tolkas som sträng; utan citattecken tolkas uttrycket som kod/beräkning.

Variabler

  • Definition: En minnesplats som lagrar ett värde (tal eller text) som kan återanvändas.

  • Skapande i Python sker genom tilldelning, ingen separat deklaration behövs.

  • Namnregler:

    • Bokstäver, siffror, understreck ( _ )

    • Får inte börja med siffra

    • Rek. starta med liten bokstav

    • Case sensitive: \texttt{enBok} ≠ \texttt{EnBok}

  • Flerordiga namn:

    • CamelCase: \texttt{myFirstVariable}

    • Snakecase: \texttt{myfirst_variable}

  • Multipel tilldelning:
    \texttt{siffra, halsning = 5, 'Hej!'}

Datatyper

  • Huvudtyper som nämns:

    • int (heltal)

    • float (decimaltal)

    • str (sträng)

    • (Historiska/andra språk: char, double)

  • Typ avgörs av värdet som tilldelas:

    • \texttt{a = 5} \;\Rightarrow\; \text{int}

    • \texttt{b = 2.6} \;\Rightarrow\; \text{float}

  • Decimalpunkt ersätter decimalkomma: 5.6 (inte 5,6).

  • Numerisk text: \texttt{tal = '123'} är sträng, ej tal.

Casting (typomvandling)

  • Syfte: Konvertera mellan datatyper.

  • Standardfunktioner:

    • \texttt{int("3")} → 3

    • \texttt{float("3.1")} → 3.1

    • \texttt{str(3)} → "3"

  • Användningsfall: når användar-input alltid tolkas som sträng; måste konverteras innan matematiska beräkningar.

Aritmetiska uttryck & operatorer

  • Operatorlista:

    • Addition: +

    • Subtraktion: -

    • Multiplikation: *

    • Division: /

    • Exponent: (ex. 23 = 8)

  • Exempeluttryck & resultat:

    • \texttt{print(4 + 2)}\;\Rightarrow\;6

    • \texttt{print(6 / 2)}\;\Rightarrow\;3

  • Komplext exempel:
    8 * 2 * (5 - 3) + 16/4 - 1 = 35

Prioriteringsregler (operator-precedens)

  1. Parenteser ()

  2. Multiplikation * och division /

  3. Addition + och subtraktion -

  • Lika prioritet → utvärderas vänster → höger.

  • Visuellt arbetsflöde i flera steg demonstreras i presentationen.

Kommentarer

  • Skapas med tecknet #.

  • Körs inte av Python-tolken; används för förklaring, dokumentation och framtida underhåll.

  • Exempel:
    \texttt{# Detta är en kommentar}

Vanliga fel & felsökningstips

  • Lita inte blint på alla felmeddelanden; angrip första felet först och spara.

  • Stava variabelnamn exakt (inkl. rätt versaler).

  • Kontrollera citattecken vs. inget citattecken när ett uttryck ger fel typ (text vs. tal).

  • Typomvandla (casta) användar-input innan beräkning.

Praktiska exempel & övningar (ur materialet)

  • Grundläggande beräkningar:

    • 12 - 7 = 5

    • 24/3 + 9 = 17

    • 82(5-3)+16/4-1 = 35

  • Sträng vs. numerisk skillnad:

    • \texttt{print(1 + 1)} \Rightarrow 2

    • \texttt{print("1" + "1")} \Rightarrow "11"

    • \texttt{print(3 * "1")} \Rightarrow "111" (strängrepetering)

  • Sammanfoga & separera:

    • \texttt{print("hej" + "hej")} → hejhej

    • \texttt{print("hej", "hej")} → hej\ hej (mellanslag infogas)

  • Repetition med multiplikation av sträng:

    • \texttt{print(20 * "Jensen Skolan\t")}

    • Skriva hej tio gånger med tabb-indentering: \texttt{print(10 * "\thej")}

  • Hastighets-/distans-uppgift:

    • Fullständig utskrift på en rad:
      \texttt{print("Om du kör med hastigheten 70 km/h i 1,5 timmar, så hinner du", 70 * 1.5, "km") }

Escape-sekvenser sammanfattning

  • \texttt{\n} → radbrytning (newline)

  • \texttt{\t} → tab (horizontal tab)

  • Används inne i strängar för kontroll av layout.

Avslutande begrepp & real-world-relevans

  • Att förstå variabler, datatyper och operator-precedens är fundamentalt innan mer avancerade koncept (funktioner, loopar, filer).

  • Kommentarer är centrala för samarbete och framtida underhåll av kodbaser.

  • Sträng-hantering och typomvandling är kritiskt vid all form av in- och utdata (t.ex. användargränssnitt, filhantering, API:er).

  • Övningarna tränar problemlösningsförmåga och gör dig bekväm med Python-satsen \texttt{print()} som är första steget till debugging och interaktiv utveckling.