Hei kaikki atk-osaajat!
Toivoisin apua alan jengiltä atk-ongelmaan/kielenopiskelu:
Tarvitsen esim. vieras kieli-suomen kieli -sanapareja satunnaisessa
(random) järjestyksessä tekstitiedostosta (kirjoitan itse).
Eli ohjelma antaa sanan ja saatuaan arvauksen, ohjelma antaa lopuksi
oikean sanan. Ja tietty järkevästi lopettaa myöskin ohjelman.
- millä kielellä (Visual Basic, Java, C++, jne) olisi helpoin?
- varmaan joku reipas osaaja kirjoittaa tälle foorumille myös ohjelmoinnin!
(oma arvio, ettei asia ole hankala.MS xp käytössä.)
Jos/kun saan apua, jo etukäteen KIITOS!
Voisin tehdä tällaisen ohjelman Pythonilla. Oikean ohjelman tekoon ei ole aikaa, joten saat lahjoa jonkun muun tai opetella kieltä itse. Ilmaiseksi ei aina saa mitä toivoo. Annan kuitenkin esimerkin.
Lyhyesti: ohjelma lukee sanat.txt-tiedostosta sanaparit ja tallentaa ne dict-tietotyyppiin, eli sanakirjaan. Sieltä tietoa voi hakea merkkijonoavaimen avulla, joka on tässä jokin vieraan kielen sana. Saatu tieto on taas suomenkielinen vastine. Ks. esimerkkitiedosto lopussa.
Sen jälkeen ohjelma arpoo yksi kerrallaan avainsanoja ja tulostaa aina arvotun sanan. Sitten se kysyy arvausta sanan suomennokseksi ja tulostaa oikean vastauksen riippumatta menikö oikein vai väärin.
Ohjelma toimii tekstikonsolista Python-tulkissa ja se loppuu CTRL-C-yhdistelmällä. Sen voi ajaa komentoriviltä tallentamalla sen nimellä sanat.py ja suorittamalla komennon sanat.py
, kunhan olet asentanut XP:n Python-paketin ym. osoitteesta. Samaan hakemistoon/kansioon tarvitaan myös sanat sisältävä sanat.txt
-tiedosto.
Ohjelmaa voi laajentaa ja parantaa monella tavalla, mutta siihen minulla ei ole valitettavasti aikaa. Ei kannata olettaa, että kukaan, reipaskaan, tekisi ilmaiseksi tällaista. Pieni ohjelma on kuitenkin kyseessä, joten ei se paljoa maksa teettää kunnolla. Tai sitten voit opetella alkeiskurssista vähän Pythonia ja tehdä itse.
Pythonilla voi tehdä myös ikkunoituja sovelluksia. Se on vain sen verran monimutkaisempaa (no, ei kovin paljon, mutta en osaa niitä juttuja ulkoa), ettei minulla tähän hätään ole näyttää esimerkkiä.
Pahoittelen selventävien kommenttien puutetta.
from random import choice f = open ("sanat.txt", "r") all_words = {} for line in f: key, word = line.split(":") key, word = key.strip(), word.strip() all_words[key] = word keys = all_words.keys() while 1: next_one = choice(keys) print "*" * 40 print next_one print "Arvauksesi:", guess = raw_input() print "Oikein on", all_words[next_one]
Ohjelma tarvitsee seuraavan muotoisen sanat.txt-tiedoston. Jokainen sanapari tulee erottaa yhdellä :-merkillä. Muuten tapahtuu kummia.
a hammer : vasara bacon : pekoni a horse : hevonen to go : mennä sleepy : uninen
Suuret kiitokset "Kopeekka" -osaajalle saamastani avusta! Yritän mennä annetuilla eväillä pulmassa eteenpäin!
Visual Basic olisi aika simppeli :)
Suosittelen.
Voin kirjoittaa esimerkkikoodin, tekstitiedostossa voi olla tiedot miten vain, mutta
hammer|vasara sleepy|uninen
Olisi varmaan paras.
Aihe on jo aika vanha, joten et voi enää vastata siihen.