Saksa numbrid.py

From Wikiversity
Jump to navigation Jump to search

tagasi õpijuhisesse

Järgnev näide demonstreerib andmetüübi sõnastik kasutamist. Programmis seatakse omavahel vastavusse eestikeelsed ja saksakeelsed arvud ühest kuni 12-ni, esitatakse kasutajale eestikeelne arv ning küsitakse vastet saksa keeles. Edasi saab kasutaja teada, kas ta vastas õigesti.

# -*- coding: ISO-8859-4 -*-
# Dictionary (sõnastiku) näide.
# Sõnastik moodustatakse eesti ja saksakeelstest numbritest,
# pärast saab saksa keelt õppida :)
# Idee: on sõnastik, kus eesti sõna on võtmeks ja saksa vaste väärtuseks.
# Et eesti sõnu juhuslikult valida, teisendatakse võtmed listiks ja sealt valitakse
# suvaline element random.choice-funktsiooni abil.
# Edasi järgneb elementaarne kontroll ja kommentaar.

import random
# Kõigepealt tehakse valmis üks konstantne sõnastik. Andmed võiks tegelikult tekstifailist lugeda.
est2ger = {'üks':'ein','kaks':'zwei','kolm':'drei','neli':'vier','viis':'fünf','kuus':'sechs','seitse':'sieben','kaheksa':'acht','üheksa':'neun','kümme':'zehn','üksteist':'elf','kaksteist':'zwölf'}

print("Tere! Hakkan Sulle õpetama numbreid saksa keeles.")
print("Esialgu piirdume kaheteistkümne esimesega.")
print("Arvuti kirjutab numbri eesti keeles, Sina pead vastama saksa keeles.")

# Võtmetest (eesti sõnadest) tehakse list.
num = list(est2ger.keys())    # Tekib nn view, mis funktsiooni list() abil listiks teisendatakse
soov = "j"
while soov == "j":
# Suvalise sõna võtmine listist
    arv = random.choice(num)
    vastus = input(arv + ' ')
# Listist võetud sõna on sõnastikule nö indeksiks.
    if est2ger[arv] == vastus:
        print("Õige!")
    else:
        print("Vale! Õige vastus oleks", est2ger[arv])
    soov = input("Kas jätkame? [j/e]")

tagasi õpijuhisesse