Estoy aprendiendo a desarrollar una aplicación que toma una entrada de palabras de un archivo .txt
y comprueba si las palabras existen en el archivo del diccionario.
Cuando ejecuto el código, recibo un error de tipo. Por favor, ayúdame con lo que estoy haciendo mal aquí.
El archivo input.txt
tiene oraciones de párrafos. El archivo dictionary.txt
tiene una lista de palabras línea por línea.
def word_check(check_file, input_file):
try:
open_file = open(check_file, "r")
read_file = open_file.readlines()
open_file_2 = open(input_file, "r")
read_file_2 = open_file_2.readlines()
for input_word in read_file_2:
input_word = input_word.strip("!@#$%^&*()_+{}:?><'-=,./;][")
each_input_word = input_word.lower().split()
list_each_word = each_input_word
count = 0
for item in read_file:
line = item
for word in line:
check_word = word.lower()
if list_each_word in check_word:
count += 1
print(count)
except FileExistsError:
print("File not exist")
word_check("list.txt", "input.txt")
Me gustaría tener un recuento de palabras si las palabras existen en el archivo dictionary.txt
.
3 respuestas
Me había dado cuenta.
def spell_check(dictionary, document):
try:
open_document = open(document, "r")
input_sentence = open_document.readline()
input_words = input_sentence.lower().split()
print(input_words)
open_dictionary = open(dictionary, "r")
check_sentence = open_dictionary.read()
check_word = check_sentence.lower()
for word in input_words:
word = word.strip("!@#$%^&*()_+{}:?><,./;[]=-")
if word not in check_word:
print(f"Mispelled words are: {word}")
except FileExistsError:
print("File does not exist")
spell_check("dictionary.txt", "document.txt")
Generas list_each_word
haciendo input_word.lower().split()
.
Esto genera una lista de palabras.
Luego, recorre una lista de palabras y realiza if list_each_word in check_word:
.
Aquí, check_word
es una cadena y list_each_word
es una lista. Debe cambiar esto, porque desea verificar si la cadena está en en la lista.
Así que debe ser:
if check_word in list_each_word :
Si está intentando contar las ocurrencias de check_word
en list_each_word
, puede reemplazar estas dos líneas:
if list_each_word in check_word:
count += 1
Con esto:
count += list_each_word.count(check_word)
Que encontrará cuántas veces check_word
ocurre en list_each_word
.
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.