Python | Eliminar e imprimir cada tercio de la lista hasta que se vacíe

Dada una lista de números, su tarea es eliminar e imprimir uno de cada tres números de una lista de números hasta que la lista quede vacía.
Ejemplos:

Entrada: [10, 20, 30, 40, 50, 60, 70, 80, 90]
Salida: 30 60 90 40 80 50 20 70 10
Explicación:
El primer tercer elemento encontrado es 30, después de 30 comenzamos a contar desde 40 para el siguiente tercer elemento que es 60, después de eso se encuentra 90. Luego, nuevamente, el conteo comienza desde 10 para el siguiente tercer elemento, que es 40. Procediendo de la misma manera que lo hicimos antes, obtenemos el siguiente tercer elemento después de 40, que es 80. Este proceso se repite hasta que la lista se vacía.

Entrada: [1, 2, 3, 4]
Salida: 3 2 4 1
Explicación:
El primer tercer elemento encontrado es 3, después de 3 comenzamos el conteo desde 4 para el siguiente tercer elemento que es 2. Luego nuevamente el conteo comienza desde 4 para el siguiente tercer elemento que es 4 en sí mismo y finalmente se imprime el último elemento 1.

Enfoque El índice de la lista comienza desde 0 y el primer tercer elemento estará en la posición 2. Recorra hasta que la lista quede vacía y cada vez que encuentre el índice del siguiente tercer elemento e imprima su valor correspondiente. Después de imprimir, reduzca la longitud de la lista.

# Python program to remove to every third
# element until list becomes empty
def removeThirdNumber(int_list):
      
    # list starts with
    # 0 index
    pos = 3 - 1
    index = 0
    len_list = (len(int_list))
      
    # breaks out once the
    # list becomes empty
    while len_list > 0: 
      
        index = (pos + index) % len_list
          
        # removes and prints the required
        # element
        print(int_list.pop(index)) 
        len_list -= 1
  
# Driver code
nums = [1, 2, 3, 4] 
removeThirdNumber(nums)

Producción:

3
2
4
1

Publicación traducida automáticamente

Artículo escrito por Twinkl Bajaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *