Comment réfléchir à un programme

jmegnidro

Dominique Megnidro

Posted on November 20, 2024

Comment réfléchir à un programme

Je vais te donner une méthode simple en 5 étapes pour résoudre des problèmes en Python:

  1. ÉTAPE 1 : COMPRENDRE LE PROBLÈME
# Exemple : Je veux créer un jeu de devinette de nombre
"""
Ce que je veux :
- Générer un nombre aléatoire
- Permettre à l'utilisateur de deviner
- Dire si c'est plus grand ou plus petit
- Compter les essais
"""
Enter fullscreen mode Exit fullscreen mode
  1. ÉTAPE 2 : IDENTIFIER LES ÉLÉMENTS NÉCESSAIRES
"""
De quoi j'ai besoin ?
- Un nombre aléatoire → random
- Une saisie utilisateur → input()
- Une boucle pour plusieurs essais → while
- Un compteur → variable simple
"""
Enter fullscreen mode Exit fullscreen mode
  1. ÉTAPE 3 : ÉCRIRE EN FRANÇAIS LES ÉTAPES
"""
Mon algorithme en français :
1. Générer un nombre aléatoire
2. Tant que l'utilisateur n'a pas trouvé :
   - Demander un nombre
   - Comparer avec le nombre secret
   - Donner un indice
   - Augmenter le compteur
3. Afficher la victoire et le nombre d'essais
"""
Enter fullscreen mode Exit fullscreen mode
  1. ÉTAPE 4 : CODER PETIT À PETIT ET TESTER
# Je commence par le plus simple
import random

# 1. Générer le nombre
nombre_secret = random.randint(1, 100)
essais = 0

# 2. Je teste
print(nombre_secret)  # Pour vérifier

# 3. J'ajoute la saisie
guess = int(input("Devine le nombre : "))
essais += 1

# 4. Je teste encore
print("Tu as proposé:", guess)

# 5. J'ajoute la comparaison
if guess == nombre_secret:
    print("Gagné!")
elif guess < nombre_secret:
    print("Plus grand!")
else:
    print("Plus petit!")
Enter fullscreen mode Exit fullscreen mode
  1. ÉTAPE 5 : ASSEMBLER LE TOUT
import random

# Initialisation
nombre_secret = random.randint(1, 100)
essais = 0
trouve = False

# Boucle principale
while not trouve:
    # Saisie
    guess = int(input("Devine le nombre (1-100): "))
    essais += 1

    # Vérification
    if guess == nombre_secret:
        trouve = True
    elif guess < nombre_secret:
        print("Plus grand!")
    else:
        print("Plus petit!")

# Résultat
print(f"Gagné en {essais} essais!")
Enter fullscreen mode Exit fullscreen mode

CONSEILS PRATIQUES :

  1. Toujours commencer par un exemple simple
# Au lieu de faire directement un jeu complexe
# Je commence par faire deviner un nombre fixe
nombre_secret = 42
guess = int(input("Devine : "))
if guess == nombre_secret:
    print("Gagné!")
Enter fullscreen mode Exit fullscreen mode
  1. Tester chaque petite partie
# Je teste la génération du nombre
nombre = random.randint(1, 100)
print("Nombre généré:", nombre)

# Je teste la saisie
reponse = input("Test de saisie: ")
print("Tu as écrit:", reponse)
Enter fullscreen mode Exit fullscreen mode
  1. Utiliser des prints pour déboguer
while not trouve:
    print("Debug - Début de boucle")
    guess = int(input("Nombre? "))
    print("Debug - Tu as proposé:", guess)
Enter fullscreen mode Exit fullscreen mode
  1. Faire une liste des choses à tester
"""
À tester :
- Que se passe-t-il si j'entre 0 ?
- Que se passe-t-il si j'entre 101 ?
- Que se passe-t-il si j'entre une lettre ?
"""
Enter fullscreen mode Exit fullscreen mode
  1. Améliorer progressivement
# Version 1 : Jeu basique
# Version 2 : Ajouter la validation des entrées
# Version 3 : Ajouter un nombre maximum d'essais
# Version 4 : Ajouter un système de score
Enter fullscreen mode Exit fullscreen mode

Cette approche te permet de :

  • Ne pas te perdre dans la complexité
  • Vérifier que chaque partie fonctionne
  • Avoir un code qui marche rapidement
  • Améliorer progressivement

N'hésite pas à utiliser des commentaires pour noter tes idées et ton raisonnement. C'est très utile quand tu débutes !

💖 💪 🙅 🚩
jmegnidro
Dominique Megnidro

Posted on November 20, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related