es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Intentando crear una función basada en un booleano.

En este momento tengo este problema, pero la primera parte es un poco problemática porque la respuesta debería ser 12 ya que mi archivo tiene 12 capítulos, pero obtengo 2726 como respuesta.
También necesito crear una cuarta función llamada:

analyze_book(filename, chapter_delimiter, word)

donde la tarea es utilizar las otras tres funciones para ingresar una palabra, calcular cuántas veces aparece esa palabra en cada capítulo del libro y luego graficar los resultados en un gráfico donde el eje x es el número de capítulo y el eje y es la cantidad de veces que la palabra aparece en ese capítulo.
El gráfico también se verá así:
1) El título del gráfico es: Cantidad de veces que la palabra aparece por capítulo en el archivo.
2) Título del eje x: Capítulo
3) Título del eje y: Cantidad de palabras
4) El eje x va desde 1 hasta la cantidad de capítulos.
5) El eje y va desde 0 hasta la mayor cantidad de veces que aparece la palabra + 3.

Como se dijo al comienzo, “def getchapters” es un poco problemático en algún lugar y no sé por qué.
Y también me falta la última función y no tengo idea de qué hacer a partir de aquí.

def getchapters(filename,chapterdelimiter):
    lines = None

with open(filename,'r') as f:
    lines = f.readlines()


num_chapters = 0


for line in lines:
    chapters = line.split(chapter_delimiter)
    chapters = [chapter.strip() for chapter in chapters if len(chapter.strip())!=0]
    num_chapters += len(chapters)

return num_chapters


print(getchapters('alicein_wonderland.txt', 'CAPÍTULO'))

def countwords(stringlist, word):
    counts = []
    for string in string_list:
        count = 0
        for i in range(len(string)):
            if string[i:i + len(word)].lower() == word.lower():
                count += 1
        counts.append(count)
    return counts

strengliste = ["Takpapp, veggpapp, papp og papir", "Papir, stein, saks og papir"]
count_words(strengliste, "Papir")

def createnumberto(number):
    lst = []
    for i in range(1, number + 1):
        lst.append(i)
    return lst
print(createnumberto(14)) 
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para resolver su problema, necesita crear una cuarta función llamada analyze_book(filename, chapter_delimiter, word). Esta función debe usar las tres otras funciones para recopilar una palabra, calcular cuántas veces esa palabra aparece en cada capítulo del libro y luego trazar los resultados en un gráfico donde el eje x es el número del capítulo y el eje y es la cantidad de veces que la palabra aparece en ese capítulo. El gráfico debe tener los siguientes títulos:

    • Título del gráfico: Cantidad de veces que la palabra aparece por capítulo en el archivo
    • Título del eje x: Capítulo
    • Título del eje y: Cantidad de veces que aparece la palabra
    • El eje x va de 1 al número de capítulos
    • El eje y va de 0 a la cantidad más alta de veces que aparece la palabra +3

    También debe verificar la función get_chapters para asegurarse de que esté devolviendo el número correcto de capítulos.

Comments are closed.