ZNez Posted November 24, 2007 at 11:50 PM Report Share #150100 Posted November 24, 2007 at 11:50 PM Boas, estou a iniciar o estudo em programação através do programa python. Estava a tentar perceber/aplicar o programa do Norvig para a google (o spell checker, mas dá-me sempre erro). Alguém sabe o que estou a fazer mal? Obrigado. Programa: import re, collections def words(text): return re.findall('[a-z]+', text.lower()) def train(features): model = collections.defaultdict(lambda: 1) for f in features: model[f] += 1 return model NWORDS = train(words(file('big.txt').read())) alphabet = 'abcdefghijklmnopqrstuvwxyz' def edits1(word): n = len(word) return set([word[0:i]+word[i+1:] for i in range(n)] + # deletion [word[0:i]+word[i+1]+word[i]+word[i+2:] for i in range(n-1)] + # transposition [word[0:i]+c+word[i+1:] for i in range(n) for c in alphabet] + # alteration [word[0:i]+c+word[i:] for i in range(n+1) for c in alphabet]) # insertion def known_edits2(word): return set(e2 for e1 in edits1(word) for e2 in edits1(e1) if e2 in NWORDS) def known(words): return set(w for w in words if w in NWORDS) def correct(word): candidates = known([word]) or known(edits1(word)) or known_edits2(word) or [word] return max(candidates, key=lambda w: NWORDS[w]) Erro: C:/Python24/pythonw.exe -u "C:/Documents and Settings/Carlos Afonso/Ambiente de trabalho/pydsc-0.2/pydsc-0.2/pydsc.py" Traceback (most recent call last): File "C:/Documents and Settings/Carlos Afonso/Ambiente de trabalho/pydsc-0.2/pydsc-0.2/pydsc.py", line 75, in ? from enchant import checker ImportError: No module named enchant Link to comment Share on other sites More sharing options...
Tharis Posted November 24, 2007 at 11:59 PM Report Share #150103 Posted November 24, 2007 at 11:59 PM Falta-te o módulo "enchant". Link to comment Share on other sites More sharing options...
JoaoRodrigues Posted November 25, 2007 at 12:09 AM Report Share #150110 Posted November 25, 2007 at 12:09 AM Tens aí o código todo postado? Usa o Geshi para se ver melhor o código: mete [code(igual)python] CODIGO AQUI [(barra do 7)code] -> troca o que ta entre parentesis pelos simbolos correspondentes. Link to comment Share on other sites More sharing options...
Tharis Posted November 25, 2007 at 12:26 AM Report Share #150114 Posted November 25, 2007 at 12:26 AM Para que precisas do código se o erro é faltar um módulo? Link to comment Share on other sites More sharing options...
djthyrax Posted November 25, 2007 at 02:59 AM Report Share #150140 Posted November 25, 2007 at 02:59 AM Porque no código não há nenhum import que fale em enchant. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Tharis Posted November 25, 2007 at 05:28 PM Report Share #150270 Posted November 25, 2007 at 05:28 PM Porque provavelmente esse import é feito noutro módulo. 😛 Link to comment Share on other sites More sharing options...
djthyrax Posted November 25, 2007 at 06:27 PM Report Share #150286 Posted November 25, 2007 at 06:27 PM Se olhares com atenção para o traceback, vês que o import é feito no ficheiro que ele está a executar. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
JoaoRodrigues Posted November 26, 2007 at 12:27 AM Report Share #150371 Posted November 26, 2007 at 12:27 AM Exactamente 😛 Link to comment Share on other sites More sharing options...
Tharis Posted November 26, 2007 at 09:15 PM Report Share #150525 Posted November 26, 2007 at 09:15 PM Em 25/11/2007 às 19:27, djthyrax disse: Se olhares com atenção para o traceback, vês que o import é feito no ficheiro que ele está a executar. Mas como vês, ele não tem 75 linhas. Link to comment Share on other sites More sharing options...
JoaoRodrigues Posted November 26, 2007 at 10:02 PM Report Share #150538 Posted November 26, 2007 at 10:02 PM Daí eu ter perguntado se era o código todo Link to comment Share on other sites More sharing options...
djthyrax Posted November 26, 2007 at 10:23 PM Report Share #150542 Posted November 26, 2007 at 10:23 PM Em 26/11/2007 às 22:15, Tharis disse: Mas como vês, ele não tem 75 linhas. Em 26/11/2007 às 23:02, anaryin disse: Daí eu ter perguntado se era o código todo Exactly, duh. 😄 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Tharis Posted November 27, 2007 at 07:32 PM Report Share #150754 Posted November 27, 2007 at 07:32 PM Nepes, se o interpretador está a falar de uma linha 75, pode tar a falar de um módulo qualquer que foi importado por este programa. Por isso o erro fala deste ficheiro e não do módulo. Link to comment Share on other sites More sharing options...
djthyrax Posted November 27, 2007 at 07:35 PM Report Share #150756 Posted November 27, 2007 at 07:35 PM Nesse caso, no traceback aparecia "import modulo". Ora vê: >>> import dsfsdfsdf Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> import dsfsdfsdf File "/home/djthyrax/dsfsdfsdf.py", line 1, in <module> lancar_uma_exception_lulz() NameError: name 'lancar_uma_exception_lulz' is not defined[/quote] Isto foi no IDLE, mas num .py o resultado era o mesmo. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Tharis Posted November 27, 2007 at 07:43 PM Report Share #150766 Posted November 27, 2007 at 07:43 PM Ok! Atão se calhar ele não postou o código todo! Mas a minha primeira resposta tá certa. Erro = Falta do módulo. Link to comment Share on other sites More sharing options...
djthyrax Posted November 27, 2007 at 09:08 PM Report Share #150791 Posted November 27, 2007 at 09:08 PM Isso nunca teve em causa, apenas não sabiamos onde tinhamos que alterar as coisas. 🙂 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Tharis Posted November 27, 2007 at 09:12 PM Report Share #150792 Posted November 27, 2007 at 09:12 PM OK! 😄 (já repararam no número de quotes deste post? 🙂 Link to comment Share on other sites More sharing options...
JoaoRodrigues Posted November 28, 2007 at 01:43 AM Report Share #150841 Posted November 28, 2007 at 01:43 AM Estava para comentar isso. Este post está interessante no que toca a quotes.. e ao facto de o rapaz que postou a duvida nunca mais ter dito nada... 🙂 Link to comment Share on other sites More sharing options...
Tharis Posted November 28, 2007 at 05:19 PM Report Share #150965 Posted November 28, 2007 at 05:19 PM Estava para comentar isso. Este post está interessante no que toca a quotes.. e ao facto de o rapaz que postou a duvida nunca mais ter dito nada... 😞 Era o que ia dizer. Deixemos este tópico de parte, pois o criador do tópico não disse nada. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now