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.

Tengo un código que funciona como un diario para que el usuario haga entradas en él. Estoy teniendo problemas para navegar por él porque las entradas están en una lista.

Entonces es un código en Python y el usuario realiza entradas con los atributos fecha y contenido y se ordena automáticamente por fecha de antiguo a nuevo en una lista. Quiero poder hojear el diario, así que tengo una función para abrir el diario (imprimiendo simplemente list(0)), sin embargo, no puedo hacer una función que cambie de página. Quiero poder pasar la página hacia adelante una página y la próxima vez que el usuario pase la página (en la misma ejecución), pasará una página más hacia adelante, y así sucesivamente. No puedo hacer que funcione con un bucle while ya que no quiero que todas las entradas se impriman de una vez, así que estoy un poco perdido. Entiendo que simplemente debo agregar 1 al número dentro del índice de la lista que estoy llamando, pero no estoy seguro de cómo hacerlo y guardarlo para la próxima vez que el usuario presione pasar página. Agradezco cualquier ayuda.

def bläddra_framåt(self):
    self.minnes_anteckningar.sort()
    antal_sidor = len(self.minnes_anteckningar)
    if antal_sidor < 1:
        print("debes escribir algo primero")
    else:
        nuvarande_sida = 1
        antal_sidor = len(self.minnes_anteckningar) - 1
        if nuvarande_sida <= antal_sidor:
            sida = self.minnes_anteckningar[nuvarande_sida]
            print("esta es la siguiente página:")
            print(sida)
            nuvarande_sida += 1
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para lograr la función de pasar las páginas del diario, puedes modificar la función existente bläddra_framåt introduciendo una variable global que registre el número de página actual. Aquí tienes un ejemplo de implementación:

    # definir una variable global para registrar el número de página actual
    current_page = 0
    
    def bläddra_framåt(self):
        # ordenar las entradas por fecha
        self.minnes_anteckningar.sort()
        # calcular el número total de páginas
        total_pages = len(self.minnes_anteckningar)
        if total_pages < 1:
            print("debes escribir algo primero")
        else:
            # verificar si hay más páginas para mostrar
            if current_page + 1 <= total_pages:
                # mostrar la siguiente página
                page = self.minnes_anteckningar[current_page]
                print("esta es la siguiente página:")
                print(page)
                # actualizar el número de página actual
                global current_page
                current_page += 1
            else:
                print("no hay más páginas para mostrar")
    

    Ten en cuenta que definimos la variable current_page fuera de la función y luego la declaramos como global dentro de la función para que podamos modificar su valor en las llamadas a la función. También verificamos si hay más páginas para mostrar antes de incrementar el número de página y mostrar la siguiente página.

    Con esta implementación, puedes llamar a la función bläddra_framåt varias veces para pasar las páginas. El número de página actual se actualizará cada vez, por lo que la función mostrará la siguiente página cada vez que se llame.

Comments are closed.