Föreläsning 3
Jämförelseoperatorer
Styrstrukturer (if, if-elif,if-else)
Slingor (while)
1
Importera modul
• En modul är en samling variabler, funktioner och
klasser.
• import math
Gör att vi får tillgång till modulen ”math”. Tex kan
vi nu använda funktionen math.sin()
• import random
Gör att vi får tillgång till modulen ”random”. Tex
kan vi nu använda funktionen
random.randrange(5)
2
Hur hittar man?
• Information om alla moduler finns på
Python-hemsidan www.python.org.
Bläddra gärna för att få översikt!
• För specifika saker: gräv och googla!
3
random-Modulen
• Slumpa ett heltal i ett givet intervall:
import random
# Tal mellan 3 och 10 (exklusive 10)
random.randrange(3,10)
4
Jämförelseoperatorer
Ger ett booleskt värde: True eller False
== ”är lika med”
is ”är identisk med”
!= ”är inte lika med”
not ”negering”
<
”är mindre än”
<= ”är mindre eller lika med”
>
”är större än”
>= ”är större eller lika med”
5
Exempel
A=1
B=1
A==B
A=1
B=1
A is B
A=”hej”
B=”hej”
A is B
A=”hej”
B=”hej”
A == B
True
True
True
True
6
Skillnad mellan == och is
A = ”hej”
B = ”he”+”j”
A is B
False
A==B
True
7
Skillnad mellan == och is
• Exempel:
l = (1,
k = (1,
s = l
if l ==
print
if s is
print
2, 3)
2, 3)
k:
”l == k”
l:
”s is l”
8
True and False in Python
• Allt som inte är 0 eller tomt är sant.
• Exempel:
l = ()
if l:
print ”is not printed”
else:
print ”Empty tuple is false!”
9
if-sats
En if-sats används för att undvika eller påtvinga
exekvering av en eller flera satser:
if villkor-sats :
utförs om villkoret är sant
10
if-else-sats
if villkor-sats:
utförs om villkoret är sant
else:
utförs om villkoret är falskt
11
if-elif-else-sats
if villkor-sats1:
utförs om villkor 1 är sant
elif villkor-sats2:
utförs om villkor 1 är falsk,
men villkor 2 är sant
else:
utförs om båda villkoren är falska
12
exempel
age = 18
if age<20:
print ”Du är alkoholomyndig!”
13
Indentering
• Indragning påbörjar nytt ”block”.
• Utdragning avslutar befintligt block.
• Mycket annorlunda från C, C++, Java etc!!
14
Indenteringsexempel
l = 0
if l != 0:
print ”l is non-zero!”
print ”always executed”
15
while-loop
• Upprepar ett stycke kod tills ett givet villkor
är uppfyllt.
• Syntaxen är enligt nedan:
while villkorssats :
koden som upprepas tills
villkoret blir falskt
16
Exempel
iter=0
while iter < 4:
print ”Hej”,
iter = iter + 1
Hej Hej Hej Hej
17
break och continue
• while True:
userInput = raw_input(”Mata in:”)
if not userInput:
continue
elif userInput == ”quit”:
break
else:
print userInput.upper()
18
break och continue?
• Finns i C++ och Java. Påminner om goto
i andra språk.
• Oftast onödigt. Samma sak kan uttryckas
på annat vis.
• Ger ibland mer lättläst kod.
19
or and not
• x or y
Ger True om x eller y ger True.
• x and y
Ger True om både x och y ger True.
• not x
Ger True om x ger False.
20
Komplicerade uttryck
• Parenteser används för komplicerade
uttryck:
(x or y) and z and (x or not w)
• Bör användas försiktigt för att öka
läsbarheten.
21
while-else
• Python har en ovanlig while-sats:
x = ””
while x == ””:
x = raw_input(”Mata in: ”)
if x == ”quit”:
print ”quitting prematurely”
break
else:
print x
22
for-loopar
• Ett ”för varje”-uttryck.
• Exempel:
for x in ”Douglas”:
print x
23
Range()
• För att skapa listor med tal.
• range(5) ger [0,1,2,3,4]
• range(3,7) ger [3,4,5,6]
• Range(3,9,2) ger [3,5,7]
24