Presentationer Slide 1/1

Kapitel 4

Operatorer och beräkningar

Räkna, jämför och kombinera villkor i Python.

Mål

Efter kapitlet ska du kunna...

  • använda aritmetiska operatorer
  • jämföra värden och tolka True/False
  • kombinera villkor med and, or och not
  • förstå prioriteringsregler och parenteser
  • bygga enkla beräkningsprogram

Kärnidé

En operator utför en operation

Värde+VärdeResultat

Operatorer kan räkna, jämföra eller kombinera villkor.

4.1

Aritmetiska operatorer

OperatorOperationExempel
+addition5 + 3
-subtraktion10 - 4
*multiplikation6 * 7
/division10 / 2
//heltalsdivision10 // 3
%modulus (rest)10 % 3

Addition och subtraktion

Lägg till eller dra ifrån

a = 5
b = 3
result = a + b
print(result)

Utskrift: 8

a = 10
b = 4
result = a - b
print(result)

Utskrift: 6

Multiplikation

Python använder *

a = 6
b = 7
result = a * b
print(result)

Utskrift: 42

Tecknet x är inte en multiplikationsoperator i Python.

Division

/ ger vanlig division

a = 10
b = 2
result = a / b
print(result)

Utskrift: 5.0

Resultatet blir ett decimaltal även när divisionen går jämnt ut.

Heltalsdivision

// tar heltalsdelen

a = 10
b = 3
result = a // b
print(result)

Utskrift: 3

Decimaldelen i 3.333... tas bort.

Modulus

% ger resten

a = 10
b = 3
rest = a % b
print(rest)

10 innehåller tre hela grupper med 3: 3 + 3 + 3.

Då återstår 1, så 10 % 3 blir 1.

Modulus används exempelvis för att kontrollera om ett tal är jämnt: tal % 2 == 0.

Kontrollfråga

/, // eller %?

print(17 / 5)
print(17 // 5)
print(17 % 5)

Tänk ut de tre resultaten.

3.4
3
2

Python använder punkt i decimaltal, alltså 3.4 och inte 3,4.

Operatorer och variabler

Beräkna ett totalpris

price = 50
amount = 3
total = price * amount
print(f"Totalt pris är {total}")

f före citattecknet skapar en f-sträng. Värdet i {total} placeras i texten.

Utskrift: Totalt pris är 150

4.2

Jämförelser ger booleska värden

Python jämför två värden.

Resultatet blir alltid True eller False.

print(5 == 5)  # True
print(5 != 5)  # False

Jämförelseoperatorer

Sex vanliga jämförelser

OperatorBetydelse
==lika med
!=inte lika med
<mindre än
<=mindre än eller lika med
>större än
>=större än eller lika med

< eller > ska stå först: skriv <= och >=.

Skriv inte =< eller => – de operatorerna finns inte i Python.

Viktig skillnad

= är inte ==

a = 5

= tilldelar värdet 5 till variabeln a.

a == 5

== frågar om a har värdet 5.

Jämförelser · exempel

Förutsäg resultatet

print(4 < 10)
print(10 <= 10)
print(12 > 7)
print(9 >= 10)

Svar: True, True, True, False.

Spara resultatet

En jämförelse kan bli en variabel

age = 18
adult = age >= 18
print(adult)

adult får värdet True.

4.3

Logiska operatorer kombinerar villkor

OperatorBlir sann när...
andbåda villkoren är sanna
orminst ett villkor är sant
notdet ursprungliga värdet är falskt

Operatorn and

Båda måste vara sanna

age = 20
print(age > 18 and age < 30)

20 > 18 är True.

20 < 30 är True.

True and True blir True.

Operatorn or

Minst ett måste vara sant

age = 15
print(age < 18 or age > 65)

Det första villkoret är sant och det andra är falskt.

True or False blir True.

Operatorn not

Vänd värdet

is_student = True
print(not is_student)

not True blir False.

not False blir True.

Flera villkor

Myndig och har biljett

age = 22
has_ticket = True

allowed = age >= 18 and has_ticket
print(allowed)

Båda villkoren är sanna, så resultatet blir True.

Kontrollfråga

Vad blir resultatet?

age = 40
print(age < 18 or age > 65)

Båda jämförelserna är falska.

Svar: False.

4.4

Python följer prioriteringsregler

result = 5 + 3 * 2
print(result)

Multiplikationen räknas först: 3 * 2 = 6.

Sedan additionen: 5 + 6 = 11.

Parenteser

Bestäm vad som räknas först

result = (5 + 3) * 2
print(result)

Parentesen räknas först: 5 + 3 = 8.

Sedan multiplikationen: 8 * 2 = 16.

Jämför

Samma tal – olika resultat

10 + 4 * 3

Resultat: 22

(10 + 4) * 3

Resultat: 42

Använd parenteser när de gör din avsikt tydligare.

4.5 · Hela programmet

Enkel miniräknare

number1 = float(input("Skriv första talet: "))
number2 = float(input("Skriv andra talet: "))
summa = number1 + number2
print(f"Summan är {summa}")

Beräkningsprogram

Fyra tydliga steg

  1. Läs in värden.
  2. Omvandla och spara värdena.
  3. Gör beräkningen.
  4. Skriv ut resultatet.

Strukturen är samma oavsett vilken beräkning programmet gör.

Hela programmet

Beräkna ett pris

price = float(input("Pris per vara: "))
amount = int(input("Antal varor: "))
total = price * amount
print(f"Totalt pris är {total}")

price kan ha decimaler, men amount är ett heltal.

Hela programmet

Celsius till Fahrenheit

celsius = float(input("Temperatur i Celsius: "))
fahrenheit = celsius * 9 / 5 + 32
print(f"Temperaturen i Fahrenheit är {fahrenheit}")

Formeln följer Pythons vanliga prioriteringsregler.

4.6 · Vanliga fel

Operatorer och syntax

FelRätt
print 5 + 3print(5 + 3)
5 x 35 * 3
a = 5 som jämförelsea == 5

Vanligt fel

input() ger text

Fel kod

age = input("Ålder: ")
print(age + 5)

Terminalen

Ålder: 17
TypeError: can only concatenate
str (not "int") to str
age = int(input("Ålder: "))
print(age + 5)

Rätt kod: int() omvandlar texten till ett heltal. Terminalen skriver då 22.

4.7 · Övning

Tre beräkningar

  1. Läs in två tal.
  2. Beräkna summan.
  3. Beräkna skillnaden.
  4. Beräkna produkten.
  5. Skriv ut alla tre resultaten tydligt.

Övning

Medelvärdet av tre tal

Läs in tre tal från användaren.

average = (number1 + number2 + number3) / 3

Parentesen säkerställer att summan beräknas före divisionen.

Testa med 10, 20 och 30. Förväntat svar är 20.0.

Sammanfattning

Kom ihåg

  • +, -, *, /, // och % gör beräkningar.
  • Jämförelser ger True eller False.
  • = tilldelar, medan == jämför.
  • and, or och not kombinerar eller vänder villkor.
  • Multiplikation och division räknas före addition och subtraktion.
  • Parenteser styr och förtydligar beräkningsordningen.