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