Fördjupning i Python-operatorer
- Potensoperatorn
** - Syntax:
bas ** exponent. - Exempel:
print(7**2) → 49. - Matematisk tolkning: 72=49.
- Heltalsdivision
// - Returnerar endast heltalsdelen; värdet avrundas nedåt mot minus oändligheten.
- Exempel:
print(7//2) → 3 eftersom 27=3.5 och delen efter decimalen tappas. - Alternativt kan man först göra vanlig division och sedan konvertera till heltal:
int(7/2) → 3.
- Kvadratroten
- Kan beräknas genom att upphöja talet till 0.5:
print(49**0.5) → 7 (samma som 49).
- Exempelprogram (potenser)
print(2**2) # 4
print(2**4) # 16
print(2**6) # 64
- Exempelprogram (jämförelse division / heltalsdivision)
print(9/2, "och", 9//2) # 4.5 och 4
print(11/6, "och", 11//6) # 1.833... och 1
print(21/8, "och", 21//8) # 2.625 och 2
- Demonstrerar hur
// kapar decimalerna.
Avrundning med round()
- Funktion:
round(tal, antal_decimaler) (andra argumentet är valfritt). - Exempel:
print(round(663.671245, 2)) → 663.67 print(round(663.991245)) → 664 (avrundar till närmaste heltal).
- Viktig vid finansiella beräkningar eller utskrift av resultat där precision krävs till bestämda decimaler.
Tips för felsökning & kodkvalitet
- Ett enda felplacerat tecken (t.ex. parentes, citattecken, kommatecken) kan hindra programmet från att köra.
- Kodning kräver hög noggrannhet; ovana programmerare gör ofta syntaktiska misstag.
- Felsök systematiskt:
- Kör korta kodsnuttar ofta.
- Läs felmeddelanden uppifrån och ned.
- Testa om och om igen tills resultatet stämmer.
Användning av variabler
- Allmänna anmärkningar
- I många språk undviks å/ä/ö, men Python stöder dessa tecken.
- Exekvering sker i sekvens – ordningen i koden spelar roll.
- Rektangelexempel (hårdkodade värden)
print("En rektangel har bredden 3 cm och längden 4 cm.")
print("Omkretsen är", (3 + 4) * 2, "centimeter.")
print("Arean är", 3 * 4, "kvadratcentimeter.")
- Omkretsformel: O=2(l+b)
- Areaformel: A=l×b
- Rektangelexempel (med variabler)
bredd = 3
längd = 4
print("En rektangel har bredden", bredd, "cm och längden", längd, "cm.")
print("Omkretsen är", (bredd + längd) * 2, "centimeter.")
print("Arean är", längd * bredd, "kvadratcentimeter.")
- Fördel: Enkla ändringar av
bredd och längd ger nya resultat utan att ändra övriga rader. - Variabel = namngiven plats i minnet som kan lagra värde.
- Gör koden flexibel, lättare att läsa och underhålla.
Gemensamma övningar (uppgifter 1–3)
a = 5
b = 10
c = 2 * a - 3 * b
print(c) # -20
- Beräknar c=2a−3b.
- Produkt av 25×60 med variabler.
- Vidare utmaningar:
- a) Kvot: 2040
- b) Potens: 328
- c) Roten ur 9409 (använd 0.5-exponenten eller
**0.5). - Uppgift 3 – Triangelarea
- Formeln: A=2bas×ho¨jd.
- Program ska använda variabler
bas och höjd och skriva ut värdena.
Individuella övningar (uppgifter 4–9)
- Uppgift 4 – Rektangel
- Data: bredd=230cm, la¨ngd=92cm.
- Beräkna omkrets och area med variabler.
- Uppgift 5 – Cirkel
- Radie = 5cm.
- Omkrets: O=2πr.
- Area: A=πr2.
- Uppgift 6 – "Antal födslar"
- Konstant: 1a˚r=365×24×60×60sek.
- Fråga: Hur många barn föds på 5 år om ett barn föds var 7:e sekund?
- Viktigt: bryt ned beräkningen stegvis med variabler (
sek_år, sek_5år, antal_födslar etc.).
- Uppgift 7 – Valutaomvandlare
- Variabler:
växelkurs_euro, växelkurs_dollar. - Omvandla 1000SEK till Euro och Dollar.
- Avrunda båda resultaten till två decimaler med
round().
- Uppgift 8 – Fart & tid (grund)
- Delsträckor:
- 100km @ 50km/h
- 120km @ 80km/h
- 80km @ 40km/h
- Tidformel: t=vs.
- Summera till total restid.
- Uppgift 9 – Fart & tid (svår)
- Nya hastigheter: 110km/h på andra sträckan, 30km/h på tredje.
- Konvertera decimaldel av timmar till minuter: min=(t−⌊t⌋)×60.
- Presentera varje deltid som "? h och ? min" och summera total restid.