Iteration med while

Datorn är nära nog outtröttlig. Den kan jobba dag och natt utan att behöva raster och fritid. Inte strejkar den för högre lön och inte heller blir den uttråkad av enahanda repetetiva uppgifter.

Nu ska vi leka lite med lite längre och större jobb för datorn.Ett bra instrument för att instruera datorn för lite ambitiösare uppgifter är while-loopen:

>>> i = 0
>>> while i < 10:
...     print i
...     i = i + 1
... 
0123456789
>>>

Här lät vi datorn räkna från 0 till 9. Mellan ordet while och kolontecknet finns ett uttryck som först är sant och som sedan blir falskt. Så länge uttrycket är sant upprepas raderna nedanför. De rader som ska upprepas ska vara indragna, ”indenterade”. Du bör göra indenteringarna konsekvent. Jag brukar använda fyra mellanslag.

Printsatsen behöver vi inte tala mer om, men jag får påminna om att satsen  i = i + 1  räknar upp värdet på variabeln  i ett steg för varje varv i snurran.

Vi kan också notera att vi alldeles från början skapar variabeln i och ger den värdet noll.

Pythons hem

Du lär dig knappast allt om Python här. Leta upp Pythons hem på nätet: http://www.python.org. Spara den som bokmärke med en gång, för det är ett ställe som du bör återkomma till.

Multiplikationstabell med en iteration

Starta din favoriteditor…

$ emacs nian.py

och skriv in följande program…

 #!/usr/bin/python
 tabell = 9
 start = 1
 max = 10
 print "Nians tabell"
 i = start
 while i <= max:
     produkt = i * tabell
     print i ," * ", tabell ," = ", produkt
     i = i + 1
 print "The end"

 

Spara, gör programmet körbart och njut av resultatet…
$ chmod a+x nian.py

$ ./nian.py

 

Tänk på att du börjar direkt vid vänsterkanten utom i de rader som ska vara indenterade, där du skriver fyra mellanslag. I de flesta andra programspråk är det inte så petigt med mellanslag, men de språken är ofta ultrapetiga på andra saker.

 Nians tabell
 1 * 9 = 9
 2 * 9 = 18
 3 * 9 = 27
 4 * 9 = 36
 5 * 9 = 45
 6 * 9 = 54
 7 * 9 = 63
 8 * 9 = 72
 9 * 9 = 81
 10 * 9 = 90
 The end

Klura på egen hand på hur programmet fungerar. Försök ändra programmet till att visa andra multiplikationstabeller. Ändra det till att visa tabellerna upp till 12 gånger någonting eller 10000 gånger någonting.

Förmodligen har du redan stött på fenomenet, annars kommer nästa kapitel
att handla om buggar.