Linux – Friheden til at programmere i Python: Version 1.0.20040516 – 2020-12-31 | ||
---|---|---|
forrige | Kapitel 2. Sprog reference | næste |
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"