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:
- Abra seu editor de texto ou IDE preferido.
- Crie um novo arquivo chamado
party.pyno diretório/home/labex/project.
cd /home/labex/project
touch party.py
- 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.
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:
Abra o arquivo
party.pyno seu editor de código.Na função
game(), inicialize a listaseatspara representar os números dos assentos de todas as pessoas. A listaseatsdeve conter os números de 1 a 263.Inicialize a variável
indexpara acompanhar a posição atual na contagem.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 - 1aoindexatual e pegando o módulo do comprimento da listaseats. - Remova a pessoa na
indexcalculada da listaseats.
- Calcule a próxima posição a ser contada adicionando
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)
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.
- Abra um terminal ou prompt de comando.
- Navegue até o diretório
/home/labex/project. - Execute o programa
party.pyusando o seguinte comando:
python party.py
- Quando solicitado, insira o valor numérico do período de relatório
x. Por exemplo, você pode tentarx = 10oux = 18. - 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.
Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



