Python slovník – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Python slovník – Python – Fórum – Programujte.comPython slovník – Python – Fórum – Programujte.com

 

normy1010
Newbie
16. 6. 2013   #1
-
0
-

print u"Česko-anglický technický slovník"

slovnik={"vlna":"wave","kopirka":"copier"}

while True:

    hledani=raw_input (u"Nyní můžete vyhledávat slova: ")
    if hledani == "0":
        break
    if slovnik.has_key(hledani):
        print u"Překlad slova",hledani, "je", slovnik[hledani], "."

    else:
        print u"Slovo není ve slovníku."

print u"Děkuji za použití mého slovníku"

Potřeboval bych pomoc jak udělat tak aby slovník načítal ze souboru 

Děkuji moc

Nahlásit jako SPAM
IP: 178.17.83.–
normy1010
Newbie
16. 6. 2013   #2
-
0
-

f = open("data.txt", "r")
text = f.read()
print text

nějak přes tohle dotoho zakomponovat

Nahlásit jako SPAM
IP: 178.17.83.–
crazy
~ Moderátor
+10
Grafoman
16. 6. 2013   #3
-
+1
-
Zajímavé

#1 normy101

dictionary = {}
with open("soubor.txt") as file:
	for line in file:
		(key, val) = line.split()
		dictionary[key] = val

tohle predpoklada ze tvuj vstupni soubor bude ve tvaru:

slovo preklad
slovo2 preklad2
...
Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
normy1010
Newbie
16. 6. 2013   #4
-
0
-

teď jsem se dostal teda do pasti

Nahlásit jako SPAM
IP: 178.17.83.–
normy1010
Newbie
16. 6. 2013   #5
-
0
-

#3 crazy
no zkusil jsem to tak ale vyletělo dost chyb a moc si s tím neumím poradit v pythonu teprve začínám

Nahlásit jako SPAM
IP: 178.17.83.–
crazy
~ Moderátor
+10
Grafoman
16. 6. 2013   #6
-
0
-

#5 normy101
jaké chyby ti to píše?

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
normy1010
Newbie
17. 6. 2013   #7
-
0
-

#6 crazy
Traceback (most recent call last):

  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 523, in runfile
    execfile(filename, namespace)
  File "C:\Users\James\Desktop\Nová složka\python slovník.py", line 14, in <module>
    (key, val) = line.split()
ValueError: too many values to unpack

Nahlásit jako SPAM
IP: 178.17.83.–
crazy
~ Moderátor
+10
Grafoman
17. 6. 2013   #8
-
0
-

#7 normy101
a máš ten soubor v tom tvaru ve kterém jsem psal?

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
normy1010
Newbie
17. 6. 2013   #9
-
0
-

v tom tvaru to mám ale furt lítá 

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 523, in runfile
    execfile(filename, namespace)
  File "C:\Users\James\Desktop\Nová složka\python slovník.py", line 12, in <module>
    with open("soubor.txt") as file:
IOError: [Errno 2] No such file or directory: 'soubor.txt'

Nahlásit jako SPAM
IP: 178.17.83.–
normy1010
Newbie
17. 6. 2013   #10
-
0
-

přemýšlel jsem jestli je někde chyba v další části programu jinak nevím no

Nahlásit jako SPAM
IP: 178.17.83.–
crazy
~ Moderátor
+10
Grafoman
17. 6. 2013   #11
-
0
-

#9 normy101
tak tahle chyba je v celku jasná... neexistuje soubor.txt

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
normy1010
Newbie
17. 6. 2013   #12
-
0
-

no vrátil jsem se k původní chybě

 Traceback (most recent call last):

  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 523, in runfile
    execfile(filename, namespace)
  File "C:\Users\James\Desktop\Nová složka\python slovník.py", line 14, in <module>
    (key, val) = line.split()
ValueError: too many values to unpack

a pak se program zastaví

Nahlásit jako SPAM
IP: 178.17.83.–
crazy
~ Moderátor
+10
Grafoman
17. 6. 2013   #13
-
0
-

a jsou v tom souboru i víceslovné názvy? něco jako:

PC osobní počítač

? ? ?

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
normy1010
Newbie
17. 6. 2013   #14
-
0
-

zkoušel jsem zatím jen zadání 

vlna wave

Nahlásit jako SPAM
IP: 178.17.83.–
crazy
~ Moderátor
+10
Grafoman
17. 6. 2013   #15
-
+1
-
Zajímavé

#14 normy101
teď jsem si to u sebe vyzkoušel:

soubor soubor.txt:

vlna wave

kód:

d = {}
with open("soubor.txt") as file:
	for line in file:
		(key, val) = line.split()
		d[key] = val
print d

vystup:

{'vlna': 'wave'}

což je správně. Jakou používáš verzi Pythonu? na 2.7.3 to funguje ok

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
normy1010
Newbie
17. 6. 2013   #16
-
0
-

#15 crazy
2.7.5

Nahlásit jako SPAM
IP: 178.17.83.–
normy1010
Newbie
17. 6. 2013   #17
-
0
-

nevím proč ale fakt mi to nejde jsem ztoho už mimo

Nahlásit jako SPAM
IP: 178.17.83.–
normy1010
Newbie
17. 6. 2013   #18
-
0
-

přemýšlel jsem že by mohla být chyba v té vyhledávací části ale dal jsem ji pryč nechal jsem tam jen tu otvírací část a furt nic jen chyba ta stejná

Nahlásit jako SPAM
IP: 178.17.83.–
normy1010
Newbie
17. 6. 2013   #19
-
0
-

když se to naváže na tohle tak to nejde už tuplem

while True:

    hledani=raw_input (u"Nyní můžete vyhledávat slova: ")
    if hledani == "0":
        break
    if slovnik.has_key(hledani):
        print u"Překlad slova",hledani, "je", slovnik[hledani], "."

    else:
        print u"Slovo není ve slovníku."

print u"Děkuji za použití mého slovníku"

Nahlásit jako SPAM
IP: 178.17.83.–
crazy
~ Moderátor
+10
Grafoman
17. 6. 2013   #20
-
0
-

#19 normy101

# -*- coding: utf-8 -*-
slovnik = {}

with open("abc.txt") as file:
	for line in file:
		(key, val) = line.split()
		slovnik[key] = val

while True:

	hledani=raw_input ("Nyní můžete vyhledávat slova: ")
	if hledani == "0":
        	break
    	if slovnik.has_key(hledani):
        	print "Překlad slova",hledani, "je", slovnik[hledani], "."

    	else:
        	print "Slovo není ve slovníku."

print "Děkuji za použití mého slovníku"

tady je celý kód, který funguje... (alespon na pythonu 2.7.3)

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
normy1010
Newbie
17. 6. 2013   #21
-
0
-

#20 crazy
já snad budu muset stáhnout 2.7.3 jelikož to fakt nejde :)

Nahlásit jako SPAM
IP: 178.17.83.–
normy1010
Newbie
17. 6. 2013   #22
-
0
-

podařilo se mi to rozjet ale i tak nečte ze souboru píše furt že "slovo není ve slovníku" tak jestli to není nějakým špatnám kodováním

Nahlásit jako SPAM
IP: 178.17.83.–
normy1010
Newbie
17. 6. 2013   #23
-
0
-

import codecs

print u"Česko-anglický technický slovník"

d = {}
file = codecs.open("soubor.txt", "r", "UTF-16")
for line in file:
    (key, val) = line.split()
    d[key] = val

while True:

    hledani=raw_input (u"Nyní můžete vyhledávat slova: ")
    if hledani == "0":
        break
    if d.has_key(hledani):

        print u"Překlad slova",hledani, "je", d[hledani], "."

    else:
        print u"Slovo není ve slovníku."


print u"Děkuji za použití mého slovníku"

Nakonec se to udělalo takhle 

Nahlásit jako SPAM
IP: 178.17.83.–
sputnikone+1
Věrný člen
18. 6. 2013   #24
-
0
-
Nahlásit jako SPAM
IP: 89.102.9.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 20 hostů

Podobná vlákna

Slovník — založil Afk

Slovnik — založil yxz

ČJ-Aj slovník — založil Skywall

C# Slovnik — založil Blondska

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý