Python 3/for-silmukka
For-silmukka
[muokkaa | muokkaa wikitekstiä]- Esimerkki
alue = range(1,11)
for luku in alue:
print(luku)
Tuloste:
1
2
3
4
5
6
7
8
9
10
- Sama toiminto lyhyemmin
for count in range(1,11):
print(count)
- Esimerkki listan selauksesta for-silmukalla
demolist = ['life', 42, 'the universe', 6, 'and', 7, 'everything']
for item in demolist:
print("The Current item is:", end=" ")
print(item)
Koodin tuloste:
The Current item is: life
The Current item is: 42
The Current item is: the universe
The Current item is: 6
The Current item is: and
The Current item is: 7
The Current item is: everything
- Listan alkioitten yhteenlasku
list = [2,4,6,8]
sum = 0
for num in list:
sum = sum + num
print("The sum is:",sum)
Koodin tuloste:
The sum is: 20
- Duplikaattien haku listasta
list = [4, 5, 7, 8, 9, 1, 0, 7, 10]
list.sort()
prev = list[0]
del list[0]
for item in list:
if prev == item:
print("Duplicate of %s Found" %(prev))
prev = item
Ohjelman tuloste:
Duplicate of 7 Found
- Yhdeksän ensimmäistä Fibonaccin sarjan lukua laskeva ohjelma
a = 1
b = 1
for c in range(1,10):
print(a, end=" ")
n = a + b
a = b
b = n
Ohjelman tuloste:
1 1 2 3 5 8 13 21 34
Python 3:ssa print-käskylle voi antaa toisena parametrinä end=""
, jossa ""
-merkkien sisään voidaan määritellä tulistuksen lopuksi tulostettavat merkit. Edellä oleva esimerkki siis ei tulosta tulostuksen lopuksi mitään, joten luvut tulostuvat samalle riville.
Alkioiden numerointi enumerate-funktiolla
[muokkaa | muokkaa wikitekstiä]Sisäänrakennettu funktio enumerate liittää listaan tai muuhun iteroitavaan olioon järjestysluvun. Kun sitä käytetään for-silmukassa, tulee silmukan nykyarvosta monikko (järjestysluku, listan alkio), jonka voi hajottaa kahdeksi arvoksi erottamalla ne pilkulla for- ja in-sanojen välissä.
Tässä i saa järjestysluvun ja v alkuperäisen listan alkion.
lista = [ 'a', 'b', 'c' ]
for i, v in enumerate(lista):
print(i, v)
Ohjelman tuloste:
0 a 1 b 2 c
Valinnaisesti voi enumerate-funktiolle antaa aloitusnumeron.
for i, v in enumerate(lista, 1):
print(i, v)
Ohjelman tuloste:
1 a 2 b 3 c
Listojen läpikäyminen rinnakkain zip-funktion avulla
[muokkaa | muokkaa wikitekstiä]Sisäänrakennetulla funktiolla zip voi liittää kaksi tai useampaa listaa alkioittain monikoiksi. Samaan tapaan kuin enumerate-funktio yhdistää alkioon järjestysluvun, voi zip-funktiolla liittää siihen minkä tahansa arvon.
pelaajat = [ 'Urtti', 'Moke', 'Pule' ]
tulokset = [ 230, 187, 176 ]
taso = [ 5, 3, 4 ]
print("Pelaaja\tTulos\tTaso")
for pelaaja, tulos, taso in zip(pelaajat, tulokset, taso):
print(pelaaja, tulos, taso, sep='\t')
Ohjelman tuloste:
Pelaaja Tulos Taso Urtti 230 5 Moke 187 3 Pule 176 4
Sekä zip että enumerate toimivat myös generaattoreiden kanssa.
Johdanto: | |
---|---|
Tietotyypit ja tietorakenteet: |
Luvut - Merkkijonot - Lista - Monikko (tuple) - Sanakirja - Joukko (set) |
Ohjausrakenteet | |
Muut kielen rakenteet: |
Moduuli - Luokka - Funktio - Virheidenhallinta - Tiedosto |
Graafinen käyttöliittymä: | |
Harjoitustehtäviä: | |
Lisätiedot ja lähteet: |