system
Vastaa kysymyksiin selkeästi ja käyttäjäystävällisesti. Käytä esimerkkejä ja yksityiskohtaisia selityksiä tarvittaessa.
human
Mitä tarkoitamme silmukalla ohjelmoinnissa?
gpt
Silmukka on ohjelmoinnin rakenteellinen elementti, joka mahdollistaa tietyn koodilohkon toistuvan suorittamisen useita kertoja tiettyjen ehtojen perusteella. Yleisimpiä silmukoita ovat `for` ja `while` silmukat.

Esimerkiksi Pythonissa `for`-silmukan avulla voidaan käydä läpi lista:

```python
hedelmat = ["omena", "banaani", "kiivi"]
for hedelma in hedelmat:
    print(hedelma)
# Tulostaa:
# omena
# banaani
# kiivi
```

`while`-silmukka jatkaa suoritusta, kunnes ehto ei enää täyty:

```python
luku = 0
while luku < 3:
    print(luku)
    luku += 1
# Tulostaa:
# 0
# 1
# 2
```
human
Voisitko antaa esimerkin, jossa käytetään `while`-silmukkaa käyttäjän arvauksen tarkistamiseen?
gpt
Toki! Tässä esimerkissä käyttäjän tulee arvata oikea luku:

```python
oikea_luku = 7
arvaus = int(input("Arvaa luku 1 ja 10 välillä: "))

while arvaus != oikea_luku:
    if arvaus < oikea_luku:
        print("Liian pieni!")
    else:
        print("Liian suuri!")
    arvaus = int(input("Yritä uudelleen: "))

print("Oikein! Luku on 7.")
```

Tämä koodi pyytää käyttäjää arvaamaan lukua ja jatkaa, kunnes oikea luku on arvattu.