Siirry sisältöön

Python 2/while-silmukka

Wikikirjastosta
(Ohjattu sivulta Python/while-silmukka)

While-silmukka

[muokkaa | muokkaa wikitekstiä]

Tavallisesti tietokone suorittaa ohjelmaa riveittäin alkaen ensimmäisestä rivistä. Ohjelman ohjausrakenteilla voidaan muuttaa tätä järjestystä tai suorittaa tietyt käskyt vain tiettyjen ehtojen täyttyessä. While-silmukka on yksi python kielen ohjausrakenteista. Seuraava esimerkki havainnollistaa While-silmukan käyttöä.

Esimerkkikoodi
a = 0
while a < 10 :
        a = a + 1
        print a

Ohjelma asettaa aluksi muuttujan a arvoksi 0 ja suorittaa sitten while-silmukkaa niin kauan kuin ehto a<10 on tosi. Jokaisella silmukan kierroksella ohjelma kasvattaa a:n arvoa ja tulostaa sen nykyisen arvon. Viimeisen kierroksen alkaessa a=9 ja sen arvo kasvaa silmukassa yhdellä, joten viimeinen tulostettava arvo on 10.

Esimerkkikoodin tulostus
1
2
3
4
5
6
7
8
9
10


Toinen esimerkki
a = 1
s = 0
print 'Anna yhteenlaskettava luku'
print 'Yhteenlaskulopetetaan numerolla 0'
while a != 0:
        print 'summa:',s
        a = input('yhteenlaskettava: ')
        s = s + a
print 'Kokonaissumma =',s
Esimerkkituloste;
>>> 
Anna yhteenlaskettava luku
Yhteenlaskulopetetaan numerolla 0
summa: 0
yhteenlaskettava: 34
summa: 34
yhteenlaskettava: 2
summa: 36
yhteenlaskettava: 1
summa: 37
yhteenlaskettava: 7
summa: 44
yhteenlaskettava: 4567
summa: 4611
yhteenlaskettava: 0
Kokonaissumma = 4611
>>>
Ikuinen silmukka
Kirjoittamalla while-silmukkaan aina ehto tulee siitä ikuinen silmukka
while 1 == 1:
     print "Help, I'm stuck in a loop."

Ikuinen silmukka voidaan pysäyttää CTRL-C näppäinyhdistelmällä.