Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pravljenje englesko-srpskog rečnika

[es] :: Python :: Pravljenje englesko-srpskog rečnika

Strane: 1 2

[ Pregleda: 4540 | Odgovora: 32 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

a1234567

Član broj: 46801
Poruke: 297
136.228.174.*



+3 Profil

icon Re: Pravljenje englesko-srpskog rečnika24.01.2020. u 14:38 - pre 50 meseci
Citat:
djoka_l:
Vidim da si se potrudio.
Primer ti je odličan, jer pokazuje mnoge slabosti koje nisi video u mom prvom modelu podataka. Te slabosti sam, delimično, namerno stavio, delimično zato što se nisam preterano udubio.

Nisam se bavio time da podaci budu precizni, već da napravim strukturu podataka i nešto stavim u slot. A posle je te podatke moguće naravno doterivati i ispravljati.
I danas sam pokušao da napravim pretragu rečnika, ali imam problem, jer ovako kako je sada, kad učitam fajl stalno dobijam tip string. Ne mogu da ga ubedim da bude dict :))

Rečnik je sada u ovoj formi:
{"word" : "automatic data processing (ADP)", "type" : "fraza", "translation" : ["automatska obrada podataka (AOP)"], "usage" : "primer upotrebe"},
{"word" : "AAR (Against All Risks)", "type" : "noun", "translation" : ["protiv svih rizika"], "usage" : "primer upotrebe"},
{"word" : "abate", "type" : "noun", "translation" : ["sniziti; reducirati (cene)"], "usage" : "primer upotrebe"},
{"word" : "abbreviated (abbr.)", "type" : "noun", "translation" : ["skraćeno; skraćenica"], "usage" : "primer upotrebe"},
{"word" : "abeyance", "type" : "noun", "translation" : ["privremena obustava (zakona)"], "usage" : "primer upotrebe"},
{"word" : "ability", "type" : "noun", "translation" : ["sposobnost; mogućnost; platežna sposobnost"], "usage" : "primer upotrebe"},
{"word" : "abolition", "type" : "noun", "translation" : ["obustavljanje parnice"], "usage" : "primer upotrebe"},
{"word" : "abortive expenditure", "type" : "noun", "translation" : ["ekonomski neopravdani izdaci"], "usage" : "primer upotrebe"}

Svaki red je recnik sa ovim vitičastim zagradama, ali ceo fajl python vidi kao string.
 
Odgovor na temu

a1234567

Član broj: 46801
Poruke: 297
136.228.174.*



+3 Profil

icon Re: Pravljenje englesko-srpskog rečnika24.01.2020. u 16:15 - pre 50 meseci
Mislim da ću morati napraviti nešto ovako:

recnik = {1: {"word" : "automatic data processing (ADP)", "type" : "fraza", "translation" : "automatska obrada podataka (AOP)", "usage" : "primer upotrebe"}, 2: {"word" : "AAR (Against All Risks)", "type" : "noun", "translation" : "protiv svih rizika", "usage" : "primer upotrebe"}, 3: {"word" : "abate", "type" : "noun", "translation" : "sniziti; reducirati (cene)", "usage" : "primer upotrebe"}, 4: {"word" : "abbreviated (abbr.)", "type" : "noun", "translation" : "skraćeno; skraćenica", "usage" : "primer upotrebe"}, 5: {"word" : "abeyance", "type" : "noun", "translation" : "privremena obustava (zakona)", "usage" : "primer upotrebe"}, 6: {"word" : "ability", "type" : "noun", "translation" : "sposobnost; mogućnost; platežna sposobnost", "usage" : "primer upotrebe"}, 7: {"word" : "abolition", "type" : "noun", "translation" : "obustavljanje parnice", "usage" : "primer upotrebe"}, 8: {"word" : "abortive expenditure", "type" : "noun", "translation" : "ekonomski neopravdani izdaci", "usage" : "primer upotrebe"}}

Ovo sam isprobao, radi kao rečnik :)
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Pravljenje englesko-srpskog rečnika24.01.2020. u 18:11 - pre 50 meseci
Code:
import json

with open('data.txt') as json_file:

    data = json.load(json_file)
    print('\nSadržaj fajla sa podacima\n'+60*'-')
    print(data)
    print(60*'-')
    print('\nPodaci\n'+60*'-')
    for p in data['dictionary']:
        print('word: ' + p['word'])
        print('type: ' + p['type'])
        print('translation: ' + ', '.join(p['translation']) )
        if 'usage' in p:
            print('usage: ' + p['usage']) 
 
        print('')


Rezultat:
Code:
Sadržaj fajla sa podacima
------------------------------------------------------------
{'dictionary': [{'word': 'play', 'type': 'noun', 'translation': ['igra', 'predstava'], 'usage': 'Napraviti primer fraze na engleskom gde se play koristi u ovom značenju, pa onda prevod na srpski'}, {'word': 'play', 'type': 'verb', 'translation': ['igrati (se)']}]}
------------------------------------------------------------

Podaci
------------------------------------------------------------
word: play
type: noun
translation: igra, predstava
usage: Napraviti primer fraze na engleskom gde se play koristi u ovom značenju, pa onda prevod na srpski

word: play
type: verb
translation: igrati (se)
 
Odgovor na temu

a1234567

Član broj: 46801
Poruke: 297
136.228.174.*



+3 Profil

icon Re: Pravljenje englesko-srpskog rečnika26.01.2020. u 11:03 - pre 50 meseci
Nije mi baš jasna struktura ovog tvog rečnika:

{'dictionary': [{'word': 'play', 'type': 'noun', 'translation': ['igra', 'predstava'], 'usage': 'Napraviti primer fraze na engleskom gde se play koristi u ovom značenju, pa onda prevod na srpski'}, {'word': 'play', 'type': 'verb', 'translation': ['igrati (se)']}]}

Key je samo jedan - 'dictionary', a sve ovo ostalo je 1 'value'?
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Pravljenje englesko-srpskog rečnika26.01.2020. u 12:31 - pre 50 meseci
Moj post je samo odgovor na:

Citat:

I danas sam pokušao da napravim pretragu rečnika, ali imam problem, jer ovako kako je sada, kad učitam fajl stalno dobijam tip string. Ne mogu da ga ubedim da bude dict :))

Svaki red je recnik sa ovim vitičastim zagradama, ali ceo fajl python vidi kao string.


Pokazao sam ti da MOŽE fajl ispravno da se parsira kao JSON.
A to kakva će biti struktura podataka je drugi par rukava.

Snimi tvoju varijablu kao JSON, pa ćeš i moći da je učitaš kao JSON.
 
Odgovor na temu

a1234567

Član broj: 46801
Poruke: 297
136.228.174.*



+3 Profil

icon Re: Pravljenje englesko-srpskog rečnika26.01.2020. u 12:44 - pre 50 meseci
To je sve u redu. Učitao sam ga i taj deo radi.
Ali onda sam krenuo da probam pretragu po ključevima i vidim da nešto ne štima.

Ali sad ako promenim strukturu, videćemo šta će biti i sa učitavanjem. Igranka bez prestanka :)
 
Odgovor na temu

a1234567

Član broj: 46801
Poruke: 297
136.228.174.*



+3 Profil

icon Re: Pravljenje englesko-srpskog rečnika26.01.2020. u 15:34 - pre 50 meseci
Dobro, još jedan korak napravljen.
Pronalazim traženu reč.

Rečnik koji učitavam je ovde.

a kod takođe:

Code:
import json

with open('c:/englesko-srpski recnik/en_srp_recnik.txt', encoding='utf-8') as json_file:
    data = json.load(json_file)

word = input('Unesi reč: ')

word = word.lower()

for i in data['dictionary']:
    if i['word'] == word:
        print(i['translation'])


Unesi reč: accounting control
['računovodstvena kontrola']


Ostaje da vidim kako da ubacujem nove reči i popravljam već unete ako uočim neku grešku.
 
Odgovor na temu

a1234567

Član broj: 46801
Poruke: 297
136.228.174.*



+3 Profil

icon Re: Pravljenje englesko-srpskog rečnika11.04.2020. u 15:45 - pre 48 meseci
Nova, jednostavna verzija englesko-srpskog rečnika :)

Ulazni podaci su u Excelu.
Prva kolona engleska reč, druga kolona srpska:

one | jedan
two | dva
itd.

Kad sam pravio csv fajl, stavio sam = a ne zarez između engleske i srpske reči, da bih imao gde da delim na kolone,
jer se inače zarezi pojavljuju u rečniku između reči istog jezika.

Sve radi kako treba, ali na kraju kad upisujem novo stanje u izlazni Excel fajl dict_new.csv
iz nekog razloga upiše samo prvu kolonu i to svako slovo u reči odvoji zarezom!?
Jel ima neko ideju gde je greška?

Code:
import csv

with open('c:/FAJLOVI/Python_School/recnik/recnik.csv', newline = '', encoding = 'utf-8') as csvfile:
    reader = csv.reader(csvfile, delimiter='=')
    mydict = {rows[0]:rows[1] for rows in reader}

# Search an English word
def searching(search):
    print('This English word in Serbian means: ', mydict[search])
    return

# Add a new English word to the Dictionary
def adding(add_eng, add_serbian):
    mydict[add_eng] = add_serbian
    print('Done!')

# Correct an English word in the Dictionary
def correcting(error, correction):
    x = mydict.get(error)
    if x:
        mydict[correction] = mydict[error]
        del mydict[error]
        print(f'{error} replaced with {correction}')
    else:
        print(f'{error} is not in the dictionary')

ans = True
while ans:
    print ("""
    1. Look Up English word
    2. Add an English word
    3. Correct an English word
    4. Exit/Quit
    """)
    ans = input("What would you like to do? ") 
    if ans == "1": 
        searching(input('Search for English word: '))
    elif ans == "2":
      adding(input('To add a new English word, type it here: '), input('Now type its meaning in Serbian: '))
    elif ans == "3": 
      correcting(input('Type English word to be corrected: '), input('Type correct version of the English word: '))
    elif ans == "4":
      print("\n Goodbye")
      break
    elif ans != "":
      print("\n Not Valid Choice. Try again")     


#Writing new status of the Dictionary
with open('dict_new.csv', mode='w', encoding = 'utf-8') as outfile:
    writer = csv.writer(outfile)
    writer.writerows(mydict)

print("Writing completed.")
 
Odgovor na temu

a1234567

Član broj: 46801
Poruke: 297
65.18.117.*



+3 Profil

icon Re: Pravljenje englesko-srpskog rečnika07.05.2020. u 06:20 - pre 47 meseci
Nova, poboljšana verzija ekonomskog rečnika je ovde
Pošto je još u eksperimentalnoj fazi, u bazi su samo engleske reči na slova A-C i njihovi srpski prevodi.

Fajlovi su:
srp_eng.py
eng_srp.csv
srp_eng.csv

Sada može da se:
1. pretražuje u oba smera: englesko-srpski i srpsko-engleski
2. ubacuju nove reči
3. ispravljaju već postojeće
4. izlistaju reči prema nekoliko početnih karaktera, radi lakše pretrage

Ako ima predloga na koji način rečnik može da se poboljša, dobro su došli.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Pravljenje englesko-srpskog rečnika07.05.2020. u 11:40 - pre 47 meseci
U tvom programu su BUKVALNO sve funkcije osim glavnog menija duplirane.
Ovakav način pisanja programa dovodi do gomile grešaka tipa, u jednoj funkciji se nešto izmeni, a u drugoj ne i onda imaš problem da pohvataš koja je izmena aktuelna.

Pisanje u rečnik. Posle svakog unosa nove reči, praviš fajl od nule. Za add je dovoljno da se uradi append nove reči na kraj fajla.
 
Odgovor na temu

a1234567

Član broj: 46801
Poruke: 297
65.18.117.*



+3 Profil

icon Re: Pravljenje englesko-srpskog rečnika07.05.2020. u 17:16 - pre 47 meseci
Moraju biti duplirane, kad su dva rečnika
englesko-srpski i srpsko engleski, pa učitavaju različite tabele
i barataju njima.

Ili ima neki drugi način?

To za append ću da popravim.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Pravljenje englesko-srpskog rečnika07.05.2020. u 19:51 - pre 47 meseci
Naravno da postoji drugi način. Jedina razlika je varijabla iz koje se čita/piše reč.
Zašto parametar pretrage ne bi bila i varijabla u kojoj je rečnik.
 
Odgovor na temu

a1234567

Član broj: 46801
Poruke: 297
65.18.117.*



+3 Profil

icon Re: Pravljenje englesko-srpskog rečnika09.05.2020. u 18:13 - pre 47 meseci
Sad gledam ponovo kod.
Postoje dva fajla (englesko-srpski i srpsko-engleski), tako da ima i dve varible sa rečnikom.
A onda su i funkcije za pretragu različite.
 
Odgovor na temu

[es] :: Python :: Pravljenje englesko-srpskog rečnika

Strane: 1 2

[ Pregleda: 4540 | Odgovora: 32 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.