Resolución del problema de la disposición en semicírculo

PythonBeginner
Practicar Ahora

Introducción

En este proyecto, aprenderás a implementar un sistema de gestión de eventos similar a un juego utilizando Python. El objetivo es determinar el número del último artista en un arreglo de asientos circulares basado en una regla de conteo dada.

👀 Vista previa

$ python party.py
Ingrese el valor numérico del período de reporte x:10
El número del último artista es: 108
$ python party.py
Ingrese el valor numérico del período de reporte x:18
El número del último artista es: 254

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo crear y administrar un archivo de Python
  • Cómo implementar una función para simular el proceso de conteo
  • Cómo determinar el número del último artista basado en los requisitos dados

🏆 Logros

Después de completar este proyecto, podrás:

  • Comprender la lógica detrás del arreglo de asientos circulares y el proceso de conteo
  • Implementar una función de Python para resolver el problema
  • Ejecutar el programa y obtener la salida deseada
  • Aplicar tus habilidades para resolver problemas en escenarios del mundo real

Crea el archivo party.py

En este paso, crearás el archivo party.py en el directorio /home/labex/project. Sigue los pasos siguientes para completar este paso:

  1. Abre tu editor de texto o IDE preferido.
  2. Crea un nuevo archivo llamado party.py en el directorio /home/labex/project.
cd /home/labex/project
touch party.py
  1. Agrega el siguiente código al archivo party.py:
## n representa el número total de personas, x representa el número para actuar
def game(n, x):
    '''
    Completa el código
    '''

if __name__ == '__main__':
    x = int(input('Ingrese el valor numérico del período de reporte x:'))
    game(263, x)

Este código establece la estructura básica para el archivo party.py, incluyendo la función game() y el bloque de ejecución principal.

✨ Revisar Solución y Practicar

Implementa la función game()

En este paso, implementarás la función game() para determinar el número del último artista. Sigue los pasos siguientes para completar este paso:

  1. Abre el archivo party.py en tu editor de código.

  2. En la función game(), inicializa la lista seats para representar los números de los asientos de todas las personas. La lista seats debe contener los números del 1 al 263.

  3. Inicializa la variable index para llevar un registro de la posición actual en el conteo.

  4. Simula el proceso de conteo hasta que solo quede una persona. Para hacer esto, utiliza un bucle que repita los siguientes pasos:

    • Calcula la siguiente posición para contar sumando x - 1 a la posición actual index y tomando el módulo de la longitud de la lista seats.
    • Elimina a la persona en la posición calculada index de la lista seats.
  5. La persona restante en la lista seats es el último artista. Imprime el número del último artista.

Aquí está la función game() completada:

def game(n, x):
    ## Inicializa la lista de asientos, que representa los números de asientos de todas las personas
    seats = list(range(1, n + 1))
    ## Inicializa el índice para el conteo, que representa la posición actual en el conteo
    index = 0

    ## Simula el conteo hasta que solo quede una persona
    while len(seats) > 1:
        ## Calcula la siguiente posición para contar
        index = (index + x - 1) % len(seats)
        ## Elimina a la persona que se está contando
        seats.pop(index)

    ## La persona restante es el último artista
    last_performer = seats[0]
    print("El número del último artista es:", last_performer)
✨ Revisar Solución y Practicar

Ejecuta el programa

En este paso, ejecutarás el programa party.py y proporcionarás el valor de x para ver el número del último artista.

  1. Abre una terminal o línea de comandos.
  2. Navega hasta el directorio /home/labex/project.
  3. Ejecuta el programa party.py usando el siguiente comando:
python party.py
  1. Cuando se te solicite, ingresa el valor numérico del período de reporte x. Por ejemplo, puedes probar x = 10 o x = 18.
  2. El programa mostrará el número del último artista.

Aquí hay un ejemplo de la salida del programa:

$ python party.py
Ingrese el valor numérico del período de reporte x:10
El número del último artista es: 108
$ python party.py
Ingrese el valor numérico del período de reporte x:18
El número del último artista es: 254

¡Felicitaciones! Has completado el proyecto implementando la función game() y ejecutando el programa party.py.

✨ Revisar Solución y Practicar

Resumen

¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.