^ Linux – Friheden til at programmere i Python: Version 1.0.20040516 – 2020-12-31 ^| | [[python:python-scripts|forrige]] | Kapitel 2. Sprog reference | [[python:python-afbryd|næste]] | ---- ==== 2.9. If, elif og else ==== Her er et eksempel på hvorledes man kan teste for forskellige betingelser, og få ens funktioner til at gøre nogle forskellige ting. >>>def findMax(a,b,c):...max = a...if b > a:...max = b...if c > b:...max = c...return max...>>>findMax(37, 2 * 19 ,43)43 >>>tal = 17 ** 4>>>if tal < 50000:...print "Tallet er mindre end 50000"...else:...print "Tallet er",tal...Tallet er 83521 If sætningen er måske den bedst kendte sætning (statement) >>>x = int(raw_input("Skriv et helt tal: "))>>>if x < 0:...x = 0...print 'Negativt tal ændret til nul'...elif x == 0:...print 'Nul'...elif x == 1:...print 'Et'...else:...print 'Større end 1'... Der kan være nul eller flere elif blokke, else kan vælges/udelades efter ønske. Nøgleordet "elif" er en forkortelse af "else if" og er praktisk, da der derved er muligt at undgå alt for mange blokindrykninger (de fylder enormt i bredden). >>>streng = "wqexmjupiolåærdtce45rft6g8ijuplbkilmæø3we45rft6g8ijupl">>>if len(streng) > 50:...print "Længden af strengen er større end 50"...elif len(streng) > 45:...print "Længden af strengen er større end 45"...elif len(streng) > 40:...print "Længden af strengen er større end 40"...else:...print "Længden af strengen er:", len(streng)...Længden af strengen er større end 50 Simulering af terningekast: ALLE variabler i Python SKAL være erklærede, inden de bruges første gang, I det følgende eksempel skal der bruges 6 fordefinerede variabler. Her har Python en speciel og særdeles konstruktiv måde at gøre det på: f6 = f5 = f4 = f3 = f2 = f1 = 0 I andre om ikke alle andre computersprog skulle det gøres nogenlunde således: f1 = 0 f2 = 0 f3 = 0 f4 = 0 f5 = 0 f6 = 0 Simulering af terningekast: >>> import random >>> f6 = f5 = f4 = f3 = f2 = f1 = 0 >>> for kast in range( 1, 10001 ): # 10.000 terningekast ... udfald = random.randrange( 1, 7 ) ... if udfald == 1: ... f1 += 1 ... elif udfald == 2: ... f2 += 1 ... elif udfald == 3: ... f3 += 1 ... elif udfald == 4: ... f4 += 1 ... elif udfald == 5: ... f5 += 1 ... else: ... f6 += 1 print "Udfald:" print "Antal enere: ", f1 print "Antal toere: ", f2 print "Antal treere: ", f3 print "Antal firere: ", f4 print "Antal femmere: " ,f5 print "Antal seksere: ", f6 import random def kastMed2(): terning1 = random.randrange( 1, 7 ) terning2 = random.randrange( 1, 7 ) sumTotal = terning1 + terning2 print "Spiller slog%d + %d = %d" % ( terning1, terning2, sumTotal ) return sumTotal sum = kastMed2() # første omgang kast if sum == 7 or sum == 11: gameStatus = "VANDT" elif sum == 2 or sum == 3 or sum == 12: gameStatus = "TABTE" else: # husker points gameStatus = "FORTSÆT" minePoints = sum print "Spillers points er ", minePoints while gameStatus == "FORTSÆT": # fortsæt spillet sum = kastMed2() if sum == minePoints: # vandt med følgende resultat gameStatus = "VANDT" elif sum == 7: # vandt ved at slå/kaste summen 7 gameStatus = "TABTE" if gameStatus == "VANDT": print "Spilleren vandt" else: print "Spilleren tabte" ---- | [[python:python-scripts|forrige]] | [[python:index|hjem]] | [[python:python-afbryd|næste]] | | Scripts | [[python:python-language-ref|op]] | Break og continue |