Resolução de Problemas de Arranjo Circular de Assentos

PythonBeginner
Pratique Agora

Introdução

Neste projeto, você aprenderá como implementar um sistema de gerenciamento de eventos semelhante a um jogo usando Python. O objetivo é determinar o número do último artista em um arranjo circular de assentos com base em uma regra de contagem fornecida.

👀 Pré-visualização

$ python party.py
Please enter the numerical value of the reporting period x:10
The number of the last performer is: 108
$ python party.py
Please enter the numerical value of the reporting period x:18
The number of the last performer is: 254

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como criar e gerenciar um arquivo Python
  • Como implementar uma função para simular o processo de contagem
  • Como determinar o número do último artista com base nos requisitos fornecidos

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Compreender a lógica por trás do arranjo circular de assentos e do processo de contagem
  • Implementar uma função Python para resolver o problema
  • Executar o programa e obter a saída desejada
  • Aplicar suas habilidades de resolução de problemas a cenários do mundo real

Criar o arquivo party.py

Nesta etapa, você criará o arquivo party.py no diretório /home/labex/project. Siga as etapas abaixo para concluir esta etapa:

  1. Abra seu editor de texto ou IDE preferido.
  2. Crie um novo arquivo chamado party.py no diretório /home/labex/project.
cd /home/labex/project
touch party.py
  1. Adicione o seguinte código ao arquivo party.py:
## n representa o número total de pessoas, x representa o número para a performance
def game(n, x):
    '''
    Complete o código
    '''

if __name__ == '__main__':
    x = int(input('Please enter the numerical value of the reporting period x:'))
    game(263, x)

Este código configura a estrutura básica para o arquivo party.py, incluindo a função game() e o bloco principal de execução.

✨ Verificar Solução e Praticar

Implementar a função game()

Nesta etapa, você implementará a função game() para determinar o número do último artista. Siga as etapas abaixo para concluir esta etapa:

  1. Abra o arquivo party.py no seu editor de código.

  2. Na função game(), inicialize a lista seats para representar os números dos assentos de todas as pessoas. A lista seats deve conter os números de 1 a 263.

  3. Inicialize a variável index para acompanhar a posição atual na contagem.

  4. Simule o processo de contagem até que reste apenas uma pessoa. Para fazer isso, use um loop que repita as seguintes etapas:

    • Calcule a próxima posição a ser contada adicionando x - 1 ao index atual e pegando o módulo do comprimento da lista seats.
    • Remova a pessoa na index calculada da lista seats.
  5. A pessoa restante na lista seats é o último artista. Imprima o número do último artista.

Aqui está a função game() completa:

def game(n, x):
    ## Inicialize a lista de assentos, representando os números dos assentos de todas as pessoas
    seats = list(range(1, n + 1))
    ## Inicialize o índice para contagem, representando a posição atual na contagem
    index = 0

    ## Simule a contagem até que reste apenas uma pessoa
    while len(seats) > 1:
        ## Calcule a próxima posição a ser contada
        index = (index + x - 1) % len(seats)
        ## Remova a pessoa que foi contada
        seats.pop(index)

    ## A pessoa restante é o último artista
    last_performer = seats[0]
    print("The number of the last performer is:", last_performer)
✨ Verificar Solução e Praticar

Executar o Programa

Nesta etapa, você executará o programa party.py e fornecerá o valor de x para ver o número do último artista.

  1. Abra um terminal ou prompt de comando.
  2. Navegue até o diretório /home/labex/project.
  3. Execute o programa party.py usando o seguinte comando:
python party.py
  1. Quando solicitado, insira o valor numérico do período de relatório x. Por exemplo, você pode tentar x = 10 ou x = 18.
  2. O programa exibirá o número do último artista.

Aqui está um exemplo da saída do programa:

$ python party.py
Please enter the numerical value of the reporting period x:10
The number of the last performer is: 108
$ python party.py
Please enter the numerical value of the reporting period x:18
The number of the last performer is: 254

Parabéns! Você concluiu o projeto implementando a função game() e executando o programa party.py.

✨ Verificar Solução e Praticar

Resumo

Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.