Réolution du problème d'arrangement en cercle des sièges

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce projet, vous allez apprendre à implémenter un système de gestion d'événements ressemblant à un jeu à l'aide de Python. Le but est de déterminer le numéro du dernier artiste dans un arrangement de sièges circulaire selon une règle de comptage donnée.

👀 Aperçu

$ python party.py
Veuillez entrer la valeur numérique de la période de comptage x:10
Le numéro du dernier artiste est: 108
$ python party.py
Veuillez entrer la valeur numérique de la période de comptage x:18
Le numéro du dernier artiste est: 254

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment créer et gérer un fichier Python
  • Comment implémenter une fonction pour simuler le processus de comptage
  • Comment déterminer le numéro du dernier artiste selon les exigences données

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Comprendre la logique derrière l'arrangement de sièges circulaire et le processus de comptage
  • Implémenter une fonction Python pour résoudre le problème
  • Exécuter le programme et obtenir la sortie souhaitée
  • Appliquer vos compétences de résolution de problèmes à des scénarios du monde réel

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/comments("Comments") python/ControlFlowGroup -.-> python/while_loops("While Loops") python/DataStructuresGroup -.-> python/lists("Lists") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/arguments_return("Arguments and Return Values") subgraph Lab Skills python/variables_data_types -.-> lab-302749{{"Réolution du problème d'arrangement en cercle des sièges"}} python/comments -.-> lab-302749{{"Réolution du problème d'arrangement en cercle des sièges"}} python/while_loops -.-> lab-302749{{"Réolution du problème d'arrangement en cercle des sièges"}} python/lists -.-> lab-302749{{"Réolution du problème d'arrangement en cercle des sièges"}} python/function_definition -.-> lab-302749{{"Réolution du problème d'arrangement en cercle des sièges"}} python/arguments_return -.-> lab-302749{{"Réolution du problème d'arrangement en cercle des sièges"}} end

Créez le fichier party.py

Dans cette étape, vous allez créer le fichier party.py dans le répertoire /home/labex/project. Suivez les étapes ci-dessous pour terminer cette étape :

  1. Ouvrez votre éditeur de texte ou IDE préféré.
  2. Créez un nouveau fichier nommé party.py dans le répertoire /home/labex/project.
cd /home/labex/project
touch party.py
  1. Ajoutez le code suivant au fichier party.py :
## n représente le nombre total de personnes, x représente le numéro pour performer
def game(n, x):
    '''
    Complétez le code
    '''

if __name__ == '__main__':
    x = int(input('Veuillez entrer la valeur numérique de la période de comptage x:'))
    game(263, x)

Ce code configure la structure de base pour le fichier party.py, y compris la fonction game() et le bloc d'exécution principal.

Implémentez la fonction game()

Dans cette étape, vous allez implémenter la fonction game() pour déterminer le numéro du dernier artiste. Suivez les étapes ci-dessous pour terminer cette étape :

  1. Ouvrez le fichier party.py dans votre éditeur de code.

  2. Dans la fonction game(), initialisez la liste seats pour représenter les numéros de siège de toutes les personnes. La liste seats devrait contenir les nombres de 1 à 263.

  3. Initialisez la variable index pour suivre la position actuelle dans le comptage.

  4. Simulez le processus de comptage jusqu'à ce qu'il ne reste qu'une seule personne. Pour ce faire, utilisez une boucle qui répète les étapes suivantes :

    • Calculez la prochaine position à compter en ajoutant x - 1 à la position actuelle index et en prenant le modulo de la longueur de la liste seats.
    • Supprimez la personne à la position calculée index de la liste seats.
  5. La personne restante dans la liste seats est le dernier artiste. Affichez le numéro du dernier artiste.

Voici la fonction game() complétée :

def game(n, x):
    ## Initialise la liste de sièges, représentant les numéros de siège de toutes les personnes
    seats = list(range(1, n + 1))
    ## Initialise l'index de comptage, représentant la position actuelle dans le comptage
    index = 0

    ## Simule le comptage jusqu'à ce qu'il ne reste qu'une seule personne
    while len(seats) > 1:
        ## Calcule la prochaine position à compter
        index = (index + x - 1) % len(seats)
        ## Supprime la personne qui est comptée
        seats.pop(index)

    ## La personne restante est le dernier artiste
    last_performer = seats[0]
    print("Le numéro du dernier artiste est :", last_performer)

Exécutez le programme

Dans cette étape, vous allez exécuter le programme party.py et fournir la valeur de x pour voir le numéro du dernier artiste.

  1. Ouvrez un terminal ou une invite de commande.
  2. Accédez au répertoire /home/labex/project.
  3. Exécutez le programme party.py en utilisant la commande suivante :
python party.py
  1. Lorsque vous êtes invité, entrez la valeur numérique de la période de comptage x. Par exemple, vous pouvez essayer x = 10 ou x = 18.
  2. Le programme affichera le numéro du dernier artiste.

Voici un exemple de sortie du programme :

$ python party.py
Veuillez entrer la valeur numérique de la période de comptage x:10
Le numéro du dernier artiste est : 108
$ python party.py
Veuillez entrer la valeur numérique de la période de comptage x:18
Le numéro du dernier artiste est : 254

Félicitations! Vous avez terminé le projet en implémentant la fonction game() et en exécutant le programme party.py.

✨ Vérifier la solution et pratiquer

Sommaire

Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.