Défis Programmation
Voici une liste de défis te permettant de découvrir la programmation textuelle avec python. Tu pourras voir comment construire ton code et les différentes notions essentielles qui vont te servir pour tes futures programmation !
Sur cette page tu trouveras plusieurs séries de défis des plus simples aux plus avancés :
Défis pour débuter
La fonction print()
Défi 1 – Affiche du texte
La fonction print() sert à afficher un résultat dans la console. Il peut s’agir d’un texte, d’un nombre, du résultat d’un calcul…
- Une fonction s’écrit toujours avec des parenthèses, et on insère à l’intérieur la valeur que l’on veut lui donner.
- Pour afficher du texte, mets ton mot ou ta phrase entre guillemets.
=> Affiche ton prénom !
Défi 2 – Afficher la réponse à un calcul
Maintenant que tu sais utiliser la fonction print(), tu vas pouvoir afficher des nombres.
En Python, on peut faire un calcul en le notant simplement. Par exemple, pour avoir la somme de 2 et 3, on notera 2+3.
Teste de print le résultat avec, puis sans les guillemets autour du calcul. Tu verras la différence entre afficher du texte et un calcul avec des nombres.
=> Affiche le résultat du calcul suivant : 456 x 2189
Défi 3 – Créer une variable qui contient du texte et affiche la
En Python, on peut utiliser des variables pour stocker des informations. On va simplement l’écrire comme sur l’image ci-contre :
- Donne un nom à ta variable
- le symbole = pour lui dire à quelle valeur elle sera égale
- Puis la valeur que l’on souhaite lui donner (texte ou nombre)
=> Créer une variable pour stocker du texte et affiche la
- (pour l’afficher sers toi de print() et appelle ta variable dans les parenthèse)
Défi 3bis – additionne 2 chiffres dans des variables
Pour cela il te faudra créer :
- Une variable qui aura pour valeur un nombre
- Une seconde variable ayant pour valeur un autre nombre
- Et te servir de la fonction print() pour additionner les 2 variables et afficher son résultat
=> Créer 2 variables qui contiennent chacun des chiffres et affiche le résultat de leur addition
Défi 4 – Afficher du texte et une variable qui contient du texte
Maintenant que tu sais utiliser les variables, on va aller un cran plus loin ! Dans certains cas, on va avoir besoin d’afficher du texte et une variable juste après.
Voici ton défi :
- Tu vas créer une variable prenom qui aura pour valeur un texte : ton prénom.
- Puis tu vas afficher avec print() une phrase, qui dira : Je m’appelle prenom
- Pour cela, tu vas devoir faire une « concaténation ». Tu vas dire à ton programme d’afficher(« du texte » + TaVariable)
=> Affiche la phrase demandée en t’aidant de l’indice « écrit en français »
Défi 5 – Afficher un nombre au milieu d’un texte
- Tu as vu comment afficher du texte : print(« texte »)
- Et comment afficher un nombre : print(12)
- Tu as également vu comment concaténer un texte + une variable contenant un texte
Python, n’est pas capable de concaténer du texte avec des nombres. Il ne sait faire que l’un ou l’autre.
Si tu veux écrire j’ai 12 ans, en mettant ton chiffre dans une variable, pour que sa valeur puisse changer suivant l’utilisateur. Tu devras ensuite transformer ce nombre en texte.
Voici ton defi :
- Stocke dans une variable age, le chiffre de ton age en nombre
- Puis affiche J’ai 12 ans. tu vas utiliser la concaténation de « j’ai » + age + » ans. »
- Mais il te faudra transformer la variable age en texte grâce à la fonction str(). Cela te donnera str(age)
=> Affiche la phrase « J’ai XX ans. »
La fonction input()
Défi 6 – Récupérer un texte tapé par l’utilisateur et l’afficher dans un texte
Dans l’exemple ci-dessus, on récupère l’âge tapé par l’utilisateur pour le mettre dans une phrase !
Pour poser ta question, au lieu de l’afficher avec print(), tu vas la poser avec la fonction input(). Cette fonction nous permet de pouvoir écrire une réponse dans la console.
Ensuite il te faut une variable age qui va stocker la réponse de l’utilisateur
Puis tu affiches la phrase « Tu as XX ans » grâce à print()
=> Affiche le texte tapé par un utilisateur au milieu d’un texte
Les conditions, tableaux et boucles
Les conditions
Défi 7 – Affiche un nombre aléatoire
Pour cela, tu vas voir les modules qui sont déjà crées dans Python. Pour générer un nombre aléatoire on utilise le module random. Pour cela :
- Importe le module random
- Créer une variable
- et dis lui qu’elle est égale à un nombre aléatoire entre tel et tel chiffre
=> Affiche un nombre aléatoire entre 1 et 10
Défi 7bis – Fais une condition qui va changer suivant le nombre aléatoire affiché
On va faire une condition qui dira :
- Si le chiffre est plus grand que 5 :
- Alors affiche « Il est plus grand que 5 »
- Sinon :
- Affiche « Il est plus petit que 5 »
=> Fais une condition qui dit si le chiffre aléatoire obtenu est plus petit ou plus grand que 5
Défi 7ter – Et si le chiffre est égal à 5 ?
On peut faire une condition prenant plus de possibilités. Pour cela on ajoute entre la condition if et la condition else -> la condition elif
- Tu peux donc dire avec elif en plus :
- Si le chiffre est plus grand que 5 :
- Alors affiche « Il est plus grand que 5 »
- Et si le chiffre est égal à 5 :
- Alors Affiche « Le chiffre est 5 ! »
- Sinon :
- Affiche « Il est plus petit que 5 »
=> Ajoute dans ta condition, que si il est égal à 5, alors on affiche « Le chiffre est 5 ! »
Les tableaux
Défi 8 – Créer un tableau
Les tableaux sont appelés des listes en Python. Tu peux créer une liste de cette façon :
- Créer une variable
- Ajoute des [ ]
- Et entre le nom de 5 fruits (la virgule sépare tes données, et les guillemets permet de dire que c’est du texte !)
=> Créer un tableau de 5 fruits et affiche le !
Défi 8bis – Appelle qu’un seul nom de ton tableau
Maintenant que tu as un tableau qui s’affiche, tu peux appeler un seul nom de cette liste !
Pour cela, visualise ton tableau comme si une valeur prenait une ligne. Chaque ligne a un index.
L’index de départ est toujours 0 !
Tu peux afficher TonTableau[0] pour avoir le premier mot contenu dedans.
=> Affiche le troisième fruit de ton tableau
Les boucles
Défi 9 – Faire une boucle pour afficher tous les noms du tableau
Pour répéter des instructions, on utilise la boucle for .. in. En français pour pourrait dire « pour chaque »… « dans »….
Cela permet d’afficher très rapidement, toutes les lignes d’un tableau jusqu’à la fin
Pour notre tableau de fruits, nous allons dire « pour chaque fruit dans le tableau qui s’appelle fruits » :
- for fruit in fruits:
- affiche « Je veux une » et la variable fruit
=> Boucle ton tableau pour afficher en 2 lignes de code, tous les fruits, en commençant par « Je veux une »
Note : Tu peux ajouter d’autres fruits à ton tableau et ré exécuter ton code, tu verras que la boucle les prendra aussi. La boucle ne s’arrête que quand le tableau est fini.
Défi 10 – Faire une boucle pour compter de 1 à 20
Pour programmer un compteur qui va de 1 à 20, on va faire une boucle while. En français, tu peux traduire cette boucle par « tant que ». Elle fonctionne donc avec une condition.
- Dans notre cas, on pourrait créer une variable chiffre, que l’on met égal a 0.
- Puis dire à notre programme :
- Tant que la variable chiffre est inférieure à 30:
- Alors ajoute 1 à la variable chiffre
- Et affiche le résultat
- la boucle while s’écrira ainsi : while(chiffre < 20):
=> Affiche une liste de chiffre de 1 à 20
Défis pour aller plus loin
Défi 11 – Remplace un mot par un autre
Pour faire ce défi, on va utiliser une méthode native de Python : replace()
Les méthodes ont toutes une utilité précise, celle-ci permet de lui donner en paramètres le mot de départ, et par quoi on veut le remplacer.
Le code ressemble à ceci :
- MaPhrase = « texte que tu souhaites écrire »
- MaPhraseModifee = Maphrase.replace(« souhaites », « veux »)
- print(MaPhraseModifiee)
Résultat : je viens de changer le mot « souhaites » par « veux »
=> Change le mot de ton choix dans la phrase « J’ai toujours la musique ! »
Défi 12 – L’opérateur Modulo
Le modulo est une opération mathématique qui donne le reste d’une division. Son calcul se fait grâce au symbole %
=> Réutilise le code du défi 10 et affiche uniquement les multiples de 2.
- Indice :
- Pour cela, ajoute une condition if(chiffre % 2 == 0):
- Trouve où, et fais attention à l’indentation !
- Pour cela, ajoute une condition if(chiffre % 2 == 0):
Défi 13 – ajouter lettres par lettres
Ce défi n’est pas le plus dur, mais comprendre sa logique t’aidera beaucoup pour les défis de crypto qui t’attendent.
Crée 2 variables qui contiennent des textes puis passe lettres par lettres le premier texte dans le second.
Il te faut une boucle for, et ajouter les lettres avec le même raisonnement que dans le défi 10
=> Transfert chaque lettre du message 1 une par une grace à une boucle, dans le message 2
- Indice :
- Les chaines de caractères sont des tableaux de lettres tu peux donc les parcourir avec une boucle for