Programmering nivå 1 med Python
Kapitel 4: Operatorer och beräkningar
I detta kapitel lär du dig aritmetiska, jämförande och logiska operatorer samt hur du bygger enklare beräkningsprogram.
Innehållsförteckning
Klicka på ett avsnitt för att hoppa direkt.
Program behöver ofta räkna ut saker. I Python görs beräkningar med hjälp av operatorer.
Operatorer används för att göra matematiska beräkningar, jämföra värden och arbeta med variabler.
I detta kapitel börjar vi med aritmetiska operatorer, alltså operatorer som används för matematik.
4.1 Aritmetiska operatorer
Aritmetiska operatorer används för vanliga matematiska beräkningar.
De vanligaste operatorerna är:
+addition-subtraktion*multiplikation/division//heltalsdivision
Addition
Addition används för att lägga ihop tal.
a = 5
b = 3
result = a + b
print(result)
Programmet skriver ut 8.
Subtraktion
Subtraktion används för att dra bort ett tal från ett annat.
a = 10
b = 4
result = a - b
print(result)
Programmet skriver ut 6.
Multiplikation
Multiplikation används för att multiplicera tal.
a = 6
b = 7
result = a * b
print(result)
Programmet skriver ut 42.
Division
Division används för att dela ett tal med ett annat.
a = 10
b = 2
result = a / b
print(result)
Programmet skriver ut 5.0.
När man använder / i Python blir resultatet ofta ett decimaltal, även om divisionen går
jämnt ut.
Heltalsdivision
Heltalsdivision används när man vill ha ett heltal som resultat.
a = 10
b = 3
result = a // b
print(result)
Programmet skriver ut 3.
Här delas 10 med 3. Svaret blir egentligen 3.333..., men med // tar Python bara
heltalsdelen.
Operatorer och variabler
Operatorer används ofta tillsammans med variabler.
price = 50
amount = 3
total = price * amount
print(f"Totalt pris är {total}")
Programmet räknar ut det totala priset genom att multiplicera priset med antalet.
Sammanfattning
Aritmetiska operatorer används för matematiska beräkningar i program.
De vanligaste är +, -, *, / och //.
Genom att kombinera operatorer och variabler kan program göra beräkningar och lösa olika problem.
Övningar 4.1 Aritmetiska operatorer
Skriv varje program i en egen .py-fil eller fortsätt i samma fil.
Övning 1 Addition
Skapa två variabler med talen 8 och 5. Räkna ut summan och skriv ut resultatet.
Exempel på resultat: Summan är 13.
Övning 2 Subtraktion
Skapa två variabler med talen 20 och 7. Räkna ut skillnaden mellan talen och skriv ut resultatet.
Övning 3 Multiplikation
Skapa två variabler:
price = 25
amount = 4
Räkna ut det totala priset och skriv ut resultatet.
Exempel på resultat: Totalt pris är 100.
Övning 4 Division
Skapa två variabler:
a = 20
b = 4
Dela talen med operatorn / och skriv ut resultatet.
Fundera på varför resultatet blir ett decimaltal.
Övning 5 Heltalsdivision
Skapa två variabler:
a = 17
b = 5
Använd operatorn // och skriv ut resultatet.
Övning 6 Eget räkneprogram
Skriv ett program som frågar användaren efter två tal. Programmet ska skriva ut summan, skillnaden och produkten.
Tips: använd int(input()) för att läsa in talen.
4.2 Jämförelseoperatorer
I programmering behöver man ofta jämföra värden. Python använder då jämförelseoperatorer.
En jämförelseoperator jämför två värden och resultatet blir antingen True eller
False.
Det betyder att uttrycket är sant eller falskt.
De vanligaste jämförelseoperatorerna är:
==lika med!=inte lika med<mindre än<=mindre än eller lika med>större än>=större än eller lika med
Lika med
Operatorn == används för att kontrollera om två värden är lika.
a = 5
b = 5
print(a == b)
Programmet skriver ut True eftersom värdena är lika.
Inte lika med
Operatorn != används för att kontrollera om två värden är olika.
a = 5
b = 3
print(a != b)
Programmet skriver ut True eftersom värdena är olika.
Mindre än
Operatorn < används för att kontrollera om ett värde är mindre än ett annat.
a = 4
b = 10
print(a < b)
Programmet skriver ut True eftersom 4 är mindre än 10.
Mindre än eller lika med
Operatorn <= används för att kontrollera om ett värde är mindre än eller lika med ett annat.
a = 10
b = 10
print(a <= b)
Programmet skriver ut True eftersom 10 är lika med 10.
Större än
Operatorn > används för att kontrollera om ett värde är större än ett annat.
a = 12
b = 7
print(a > b)
Programmet skriver ut True eftersom 12 är större än 7.
Större än eller lika med
Operatorn >= används för att kontrollera om ett värde är större än eller lika med ett annat.
a = 9
b = 7
print(a >= b)
Programmet skriver ut True eftersom 9 är större än 7.
Jämförelser i variabler
Man kan också spara resultatet av en jämförelse i en variabel.
age = 18
adult = age >= 18
print(adult)
Programmet skriver ut True eftersom åldern är minst 18.
Sammanfattning
Jämförelseoperatorer används för att jämföra värden.
Resultatet blir alltid True eller False.
De operatorer du har lärt dig är ==, !=, <, <=,
> och >=.
Dessa operatorer används ofta tillsammans med if-satser, som vi kommer att arbeta mer med i nästa kapitel.
Övningar 4.2 Jämförelseoperatorer
Skriv programmen i Python och kör dem för att se vad som händer.
Övning 1 Lika eller inte
Skapa två variabler:
a = 10
b = 10
Skriv ut resultatet av jämförelsen a == b. Fundera på varför resultatet blir det som det
blir.
Övning 2 Olika tal
Skapa två variabler:
a = 7
b = 3
Skriv ut resultatet av a != b.
Övning 3 Mindre än
Skapa två variabler:
x = 4
y = 9
Skriv ut resultatet av x < y.
Övning 4 Större än
Skapa två variabler:
x = 15
y = 8
Skriv ut resultatet av x > y.
Övning 5 Jämför två tal från användaren
Skriv ett program som läser in två tal från användaren, jämför talen och skriver ut resultatet av jämförelsen.
Programmet ska skriva ut om talen är lika, om talen är olika och om det första talet är större än det andra.
Tips: använd int(input()) för att läsa in talen.
Övning 6 Testa olika värden
Skriv ett program där du jämför följande värden. Tänk först vad det blir innan du testar:
5 == 5
5 != 5
3 < 7
10 > 20
Skriv ut resultatet av varje jämförelse.
4.3 Logiska operatorer
I programmering behöver man ibland kombinera flera villkor. För att göra detta används logiska operatorer.
Logiska operatorer arbetar med värden som är True eller False.
De tre vanligaste logiska operatorerna i Python är and, or och
not.
Operatorn and
Operatorn and används när båda villkoren måste vara sanna.
age = 20
print(age > 18 and age < 30)
Programmet skriver ut True eftersom båda villkoren är sanna.
Operatorn or
Operatorn or används när minst ett av villkoren måste vara sant.
age = 15
print(age < 18 or age > 65)
Programmet skriver ut True eftersom personen är yngre än 18.
Operatorn not
Operatorn not används för att vända ett värde.
Om något är sant blir det falskt, och om något är falskt blir det sant.
is_student = True
print(not is_student)
Programmet skriver ut False.
Exempel med flera villkor
Logiska operatorer används ofta när program behöver kontrollera flera saker samtidigt.
age = 22
has_ticket = True
print(age >= 18 and has_ticket)
Programmet kontrollerar om personen är minst 18 år och har biljett.
Om båda villkoren är sanna blir resultatet sant.
Sammanfattning
Logiska operatorer används för att kombinera villkor.
and- båda villkoren måste vara sannaor- minst ett villkor måste vara santnot- vänder ett villkor
De används ofta tillsammans med jämförelseoperatorer och if-satser.
Övningar 4.3 Logiska operatorer
Skriv programmen i Python och testa vad som skrivs ut.
Övning 1 Operatorn and
Skapa en variabel:
age = 20
Skriv ut resultatet av:
age > 18 and age < 30
Fundera på varför resultatet blir sant eller falskt.
Övning 2 Operatorn or
Skapa en variabel:
age = 15
Skriv ut resultatet av:
age < 18 or age > 65
Fundera på varför resultatet blir sant eller falskt.
Övning 3 Operatorn not
Skapa en variabel:
is_student = True
Skriv ut resultatet av:
not is_student
Övning 4 Flera villkor
Skapa två variabler:
age = 25
has_ticket = True
Skriv ut resultatet av:
age >= 18 and has_ticket
Övning 5 Jämför två tal
Skriv ett program som frågar användaren efter två tal.
Programmet ska skriva ut om båda talen är större än 10.
Tips: använd and.
Övning 6 Ett av två villkor
Skriv ett program som frågar användaren efter sin ålder.
Programmet ska kontrollera om personen är yngre än 18 eller äldre än 65.
Skriv ut resultatet av jämförelsen.
Tips: använd or.
Övning 7 Vänd ett värde
Skapa en variabel:
logged_in = False
Skriv ut resultatet av:
not logged_in
Fundera på varför resultatet blir det som det blir.
4.4 Matematiska uttryck
I Python kan man kombinera tal, variabler och operatorer för att skapa matematiska uttryck.
Ett matematiskt uttryck fungerar på samma sätt som i vanlig matematik. Python räknar då ut ett resultat.
Ett enkelt exempel är:
result = 5 + 3
print(result)
Programmet skriver ut 8.
Matematiska uttryck används ofta tillsammans med variabler.
a = 10
b = 4
result = a + b
print(result)
Flera operatorer i samma uttryck
Man kan använda flera operatorer i samma uttryck.
result = 5 + 3 * 2
print(result)
Python följer samma prioriteringsregler som i matematik.
Multiplikation och division räknas före addition och subtraktion. I detta fall blir resultatet 11.
Använda parenteser
Man kan använda parenteser för att bestämma vilken beräkning som ska göras först.
result = (5 + 3) * 2
print(result)
Nu räknas additionen först. Resultatet blir 16.
Matematiska uttryck med variabler
price = 50
amount = 3
total = price * amount
print(total)
Programmet räknar ut det totala priset.
Exempel med flera beräkningar
a = 10
b = 5
c = 2
result = a + b * c
print(result)
Python räknar först multiplikationen och sedan additionen.
Sammanfattning
Matematiska uttryck består av tal, variabler och operatorer.
Python följer samma prioriteringsregler som i matematik: multiplikation och division räknas först, addition och subtraktion efteråt.
Med parenteser kan man ändra ordningen på beräkningarna.
Övningar 4.4 Matematiska uttryck
Övning 1 Enkel beräkning
Skapa ett program som räknar ut 5 + 7 och skriv ut resultatet.
Övning 2 Flera operatorer
Skriv ett program som räknar ut 10 + 4 * 3.
Skriv ut resultatet och fundera på varför resultatet blir som det blir.
Övning 3 Parenteser
Skriv ett program som räknar ut (10 + 4) * 3.
Jämför resultatet med övning 2.
Övning 4 Beräkning med variabler
Skapa tre variabler:
a = 8
b = 6
c = 2
Beräkna a + b * c och skriv ut resultatet.
Övning 5 Medelvärde
Skapa tre variabler:
x = 10
y = 20
z = 30
Räkna ut medelvärdet.
Tips: medelvärde = summan av talen delat med antalet tal.
Övning 6 Räkna ut area
Skriv ett program som räknar ut arean av en rektangel.
Skapa två variabler:
length = 8
width = 5
Formel: area = längd * bredd.
4.5 Beräkningsprogram
Nu ska vi kombinera det vi har lärt oss i detta kapitel. Med variabler, operatorer och matematiska uttryck kan vi skapa enkla beräkningsprogram.
Ett beräkningsprogram är ett program som läser in värden, gör beräkningar och skriver ut resultatet.
Sådana program används överallt, till exempel i kalkylatorer, spel, ekonomiprogram och vetenskapliga beräkningar.
Exempel 1 Enkel miniräknare
number1 = float(input("Skriv första talet: "))
number2 = float(input("Skriv andra talet: "))
summa = number1 + number2
print(f"Summan är {summa}")
Programmet läser in två tal, lägger ihop talen och skriver ut resultatet.
Exempel 2 Beräkna pris
price = float(input("Pris per vara: "))
amount = int(input("Antal varor: "))
total = price * amount
print(f"Totalt pris är {total}")
Programmet multiplicerar priset med antalet varor.
Exempel 3 Temperaturberäkning
celsius = float(input("Temperatur i Celsius: "))
fahrenheit = celsius * 9 / 5 + 32
print(f"Temperaturen i Fahrenheit är {fahrenheit}")
Hur man bygger ett beräkningsprogram
När man skriver ett beräkningsprogram är det vanligt att följa dessa steg:
- läs in värden från användaren
- spara värdena i variabler
- gör beräkningen
- skriv ut resultatet
Detta arbetssätt gör programmen tydliga och lätta att förstå.
Sammanfattning
Beräkningsprogram använder variabler, operatorer och matematiska uttryck.
Genom att kombinera dessa kan man skapa program som löser många olika typer av problem.
4.6 Vanliga fel
När man arbetar med operatorer och beräkningar i Python är det vanligt att göra vissa misstag. Dessa fel är normala när man lär sig programmera.
Genom att känna till de vanligaste felen blir det lättare att hitta och rätta dem.
Glömda parenteser
En vanlig miss är att glömma parenteser i funktioner.
Fel kod:
print 5 + 3
Rätt kod:
print(5 + 3)
I Python måste print() alltid ha parenteser.
Fel operator
Ett annat vanligt misstag är att använda fel operator.
Fel kod:
result = 5 x 3
Rätt kod:
result = 5 * 3
I Python används * för multiplikation.
Förväxla = och ==
Många nybörjare blandar ihop = och ==.
= används för att tilldela ett värde till en variabel.
== används för att jämföra två värden.
a = 5
print(a == 5)
Fel datatyp
När man använder input() får man alltid text. Om man försöker göra en beräkning direkt
kan det bli fel.
Fel kod:
age = input("Hur gammal är du? ")
print(age + 5)
Rätt kod:
age = int(input("Hur gammal är du? "))
print(age + 5)
Fel ordning i beräkningar
Om man inte använder parenteser kan resultatet bli annorlunda än man tänkt.
result = 10 + 4 * 3
print(result)
Python räknar först multiplikationen.
Om man vill räkna additionen först måste man använda parenteser.
result = (10 + 4) * 3
print(result)
Sammanfattning
Vanliga fel i beräkningsprogram är glömda parenteser, fel operator, förväxling av = och
==, fel datatyp från input() och fel ordning i matematiska uttryck.
Genom att läsa felmeddelanden och kontrollera koden noggrant kan man oftast snabbt hitta problemet.
4.7 Övningar
I dessa övningar ska du använda operatorer och matematiska uttryck för att skapa olika beräkningsprogram.
Övning 1 Enkel beräkning
Skriv ett program som läser in två tal från användaren.
Programmet ska skriva ut summan, skillnaden och produkten.
Tips: använd int(input()).
Övning 2 Medelvärde
Skriv ett program som läser in tre tal från användaren.
Programmet ska räkna ut medelvärdet och skriva ut resultatet.
Tips: medelvärde = summan av talen delat med antalet tal.
Övning 3 Räkna ut area
Skriv ett program som frågar efter längd och bredd.
Programmet ska räkna ut arean av en rektangel.
Formel: area = längd * bredd.
Övning 4 Temperatur
Skriv ett program som läser in en temperatur i Celsius.
Programmet ska räkna om temperaturen till Fahrenheit.
Formel: F = C * 9 / 5 + 32.
Övning 5 Dubbel kontroll
Skriv ett program som frågar efter ett tal.
Programmet ska skriva ut om talet är större än 10 och mindre än 100.
Tips: använd and.
Övning 6 Största talet
Skriv ett program som läser in två tal.
Programmet ska skriva ut vilket tal som är störst.
Tips: använd if.
4.8 Reflektionsfrågor
- Vad är en operator i programmering?
- Vad används aritmetiska operatorer till?
- Ge exempel på tre aritmetiska operatorer i Python.
- Vad är skillnaden mellan
/och//i Python? - Vad gör en jämförelseoperator?
- Vad blir resultatet av en jämförelse i Python?
- När använder man logiska operatorer som
and,orochnot? - Varför är parenteser ibland viktiga i matematiska uttryck?
- Vad gör funktionen
input()i ett beräkningsprogram? - Varför är det viktigt att kontrollera datatyper när man gör beräkningar i Python?