我正在试着制作一个计数器来告诉我一篇文章中有多少单词是错的。如果支票被退回假,我想加一个计数器。这是我所拥有的
编辑:短文是一系列单词。我写了一篇文章,去掉了标点符号,把所有的字母都改成小写,然后把每个单词列成一个单子。我现在想写一个循环来检查每个单词是否正确。不是的,我想要一个计数器,它会返回多少个单词是错误的
我到处找过了,但不知道该怎么用。我还没找到有效的方法
我得到的错误我运行num_spell_错误行
** (python.exe:7804):CRITICAL**:enchant_dict_check:断言“g_utf8_validate(word,len,NULL)”失败
回溯(最近一次呼叫):
文件“”,第1行,输入
文件“E:\Python27\lib\site packages\spyderlib\widgets\externalshell\网站自定义.py,第538行,在runfile中
execfile(文件名,命名空间)
文件“C:/Documents and Settings/stephen iu beckham/.spyder2/入学.py“,第49行,英寸
num_spel_errs_why=len(whybaylor)-len(过滤器(字典.检查韦伯勒)
文件“E:\Python27\lib\site packages\enchant_yuinit_u.py”,第577行,选中
self.\u raise\u error()
文件“E:\Python27\lib\site packages\enchant_uinit_u.py”,第551行,在“raise”错误中
提升eclass(默认)
附魔。错误。错误:未指定的错误
当我尝试for-word循环时遇到的错误
**(python.exe:7804):CRITICAL**:enchant_dict_check:断言“g_utf8_validate(word,len,NULL)”失败
回溯(最近一次呼叫):
文件“”,第1行,输入
文件“E:\Python27\lib\site packages\spyderlib\widgets\externalshell\网站自定义.py,第538行,在runfile中
execfile(文件名,命名空间)
文件“C:/Documents and Settings/stephen iu beckham/.spyder2/入学.py“,第51行,英寸
如果字典.检查(单词)为假:
文件“E:\Python27\lib\site packages\enchant_yuinit_u.py”,第577行,选中
self.\u raise\u error()
文件“E:\Python27\lib\site packages\enchant_uinit_u.py”,第551行,在“raise”错误中
提升eclass(默认)
附魔。错误。错误:未指定的错误
from __future__ import divisionimport csvimport refrom string import punctuationimport enchant
faithwords = ['church', 'christ', 'faith']
dictionary = enchant.Dict("en_US")
with open('2011ShortAnswers.csv', 'rb') as csvfile:data = csv.reader(csvfile, delimiter=",")writer = csv.writer(open('2011output.csv', 'wb'))
for row in data:
faithcounter = 0
grammercounter = 0
row3 = row[3]
row3 = row3.lower().replace(' ', ' ')
row4 = row[4]
row4 = row4.lower().replace(' ', ' ')
essay1_sentence = re.split('.', row3)
essay2_sentence = re.split('.', row4)
essay1_sentencelen = len(essay1_sentence)
essay2_sentencelen = len(essay2_sentence)
for p in list(punctuation):
row3 = row3.replace(p, '')
row4 = row4.replace(p, '')
essay1 = re.split(' ', row3)
essay2 = re.split(' ', row4)
essay1len = len(essay1)
essay2len = len(essay2)
num_spel_errs_why = len(essay1) - len(filter(dictionary.check, essay1))
for word in essay1:
if dictionary.check(word) is False:
grammercounter = grammercounter + 1