1. Aperçu rapide de Python¶
Note
Dans l’exploration rapide de Python, vous verrez certaines choses que vous ne comprenez pas. Cela est bien et ne vous inquiétez pas. Nous aborderons chacune des idées de manière beaucoup plus détaillée au fur et à mesure que le semestre avance, mais il est vraiment utile de voir un aperçu général avant d’entrer dans les détails de chaque section.
Si vous préférez regarder cette vidéo décrivant certaines fonctionnalités importantes de Python.
1.1. Qu’est ce que Python?¶
Python est un langâge de programmation qui vous permet d’apprendre à l’ordinateur à faire ce que vous voulez. Vous avez déjà écrit des programmes Python avec Reeborg. Tout ce que vous avez déjà appris (à l’exception de repeat) fonctionne en Python normal. L’utilisation régulière de Python nous permet de commencer à explorer d’autres manières dont nos programmes peuvent produire des sorties et prendre des entrées.
1.2. Exécuter Python sur votre ordinateur¶
Il existe de nombreuses façons d’installer Python sur votre ordinateur (en fait, une version de Python est peut-être déjà installée sur votre ordinateur). Cependant, l’un des moyens les plus simples de faire fonctionner Python sur votre ordinateur (Windows, Mac ou Linux) consiste à download Thonny. Allez télécharger Thonny maintenant. L’installation ne nécessite pas de droits d’administrateur. Vous devriez donc pouvoir l’installer dans le laboratoire informatique de votre école (vérifiez bien auprès de votre enseignant qu’il accepte cette tâche en premier!). Vous voudrez peut-être également installer Thonny à la maison.
Pour chacun des segments de code que vous voyez sur cette pâge, vous pouvez les exécuter directement dans votre navigateur Web OU vous pouvez copier/coller le code dans Thonny pour l’exécuter.
Lorsque vous utilisez Thonny, vous devez comprendre la différence entre l’éditeur de texte et le shell (également appelé l’interprèteur/interpreter). Si vous souhaitez enregistrer votre code pour l’utiliser ultérieurement, vous devez le saisir dans l’éditeur de texte, ce qui vous invitera à enregistrer votre fichier quelque part sur le disque lorsque vous appuierez sur le bouton Exécuter (ou sur F5). La sortie de votre code apparaîtra dans le shell (sous l’éditeur de texte). Vous pouvez également saisir le code Python de votre choix dans le shell, ce qui constitue un moyen pratique d’essayer de nouvelles choses en Python.
imâge:: imâges/thonny_window.png
1.3. Espace blanc/Whitespace¶
Comme lors de la programmation de Reeborg, il est très important d’indenter votre code correctement en Python. Par exemple, le code ci-dessous provoquera une erreur de syntaxe lorsque vous cliquerez sur le bouton Exécuter. Cliquez sur le bouton Exécuter pour voir l’erreur. Maintenant, pouvez-vous comprendre comment résoudre ce problème? Modifiez le code, puis cliquez à nouveau sur Exécuter pour voir si vous l’avez corrigé!
1.4. Impression de données sorties/Printing Output¶
Comme vous l’avez vu dans l’exemple ci-dessus, vous pouvez print()
/imprimer des choses sur la sortie standard (généralement la console/interpréteur Python). La fonction print()
sera utilisée dans beaucoup des exemples suivants. Notez que print()
peut prendre autant d’arguments qu’on veut, séparés par des virgules. Ainsi, vous pouvez imprimer quelque chose comme ceci: print ("lundi", "mardi", "mercredi")
, qui afficherait lundi mardi mercredi
, chaque argument étant séparé par un espace.
Note
Il y a beaucoup d’autres façons pour un programme de produire une sortie, comme dessiner, allumer des LED, etc. Nous étudierons certaines de celles-ci plus tard dans le cours.
1.5. Variables et types de données/Variables and Data Types¶
Espérons que vous vous souveniez d’utiliser des variables pour garder une trace des choses lorsque nous utilisions Scratch. Par exemple, nous avons utilisé une variable appelée «nombre de côtés» lorsque nous avons commencé à dessiner des polygones réguliers. En Python, nous pouvons également créer des variables. Dans l’exemple ci-dessus, nous avons créé une variable appelée un_numbre. Nous devons faire attention à la façon dont nous nommons les variables, car elles ne peuvent pas être des mots-clés tels que if,`not`, etc. Un mot-clé est un mot qui a déjà une signification spéciale en Python. Les variables doivent commencer par une lettre et si elles contiennent plus d’un mot, vous devez mettre un trait de soulignement entre les mots (comme variable_utile ou quelque_chose_d_autre).
Les types de données fondamentaux qui nous préoccupent en Python incluent:
- int (entier/integer, tel que
3
ou-5
) - float (nombre à virgule flottante/floating point nombre, tel que
1.2
ou-4.75
) - str (chaîne/string, telle que
"hello"
ou'Friday'
or"5"
) - bool (booléen/boolean, telle que
True
ouFalse
)
Nous utiliserons chacun des types de données indiqués ci-dessus tout au long du cours, et il est vraiment important que vous compreniez les différences qui existent entre eux. Prenez un moment pour répondre aux questions suivantes.
Vérifie ta compréhension
-
quick-overview1: Quel est le type de données de
- booléen
- Ce n'est pas ``True`` ou ``False``.
- nombre
- Les données ne sont pas numériques.
- float
- La valeur n'est pas numérique avec un point décimal.
- chaîne
- Génial! Les chaînes sont toujours entre guillemets.
"c'est quel type de données"
?
-
quick-overview2: Quel est le type de données de
- booléen
- Ce n'est pas ``True`` ou ``False``.
- nombre
- Génial! Les données sont numériques, sans point décimal.
- float
- La valeur n'est pas numérique avec un point décimal.
- chaîne
- Les chaînes sont **toujours** entre guillemets.
3
?
-
quick-overview3: Quel est le type de données de
- booléen
- Génial! Le booléen est ``True`` ou ``False``.
- nombre
- Les données ne sont pas numériques.
- float
- La valeur n'est pas numérique avec un point décimal.
- chaîne
- Les chaînes sont **toujours** entre guillemets.
True
?
-
quick-overview4: Quel est le type de données de
- booléen
- Ce n'est pas ``True`` ou ``False``.
- nombre
- Les données ne sont pas numériques.
- float
- Génial! La valeur est numérique avec un point décimal.
- chaîne
- Les chaînes sont **toujours** entre guillemets.
1.5
?
1.6. Vérifier les types de données¶
Si vous n’êtes pas sûr du type de données, vous pouvez le vérifier en utilisant la fonction type()
. Cela fonctionne à la fois sur les valeurs (un élément de données) et sur les variables (un contenant qui contient une valeur). Que fera le code ci-dessous? Après avoir appuyé sur Exécuter ci-dessous, modifiez la valeur dans la fonction type()
pour vous assurer que vous comprenez vraiment ce qu’elle fait. Remplacez le 5
par le 5.3
. Qu’est ce que tu obtiens? Que serait le résultat si on le change à "5.3"
?
1.7. Conversion des types de données¶
Parfois, vous devrez peut-être convertir un type de données en un autre. Vous pouvez utiliser les fonctions suivantes pour type cast/saisir des données:
str(x)
pour convertir x en chaîneint(x)
pour convertir x en nombrefloat(x)
pour convertir x en nombre à virgule flottante
1.8. Opérateurs mathématiques¶
Nous pouvons faire des calculs avec Python, mais nous devons connaître les opérateurs à utiliser. Le tableau suivant démontre les opérateurs mathématiques les plus fréquemment utilisés dans Python.
Symboles | Operations | Example | Sortie |
---|---|---|---|
+ | Addition | 1 + 2 |
3 |
- | Soustraction | 2 - 1 |
1 |
* | Multiplication | 2 * 2 |
4 |
/ | Division | 5 / 2 |
2.5 |
// | Division Tronquée (quotient) | 5 // 2 |
2 |
% | Modulo (reste) | 5 % 2 |
1 |
** | Puissance | 5 ** 2 |
25 |
1.9. if
- si
¶
La structure de contrôle if
fonctionne comme elle le faisait avec Reeborg. Exécutez l’exemple donné ci-dessous. Que se passe-t-il si vous le changez à nombre = 23
. Et si vous le changez à nombre = 10
?
Note
Un seul signe égal =
est utilisé pour assigner une valeur. Deux signes égaux ==
sont utilisés pour comparer une valeur.
1.10. if/elif/else
- si/alors/sinon¶
La structure de contrôle if/elif/else
fonctionne exactement de la même manière que lors de la programmation de Reeborg. La chose importante à retenir est que seulement une des branches peut exécuter. Lisez le code ci-dessous et prédisez ce que vous pensez sera la sortie. Puis changez-le en température = 25
. Quelle sera la sortie maintenant? Et si vous le changiez en température = 5
? Ensuite température = 15
?
1.11. Boucle while
loop¶
Rappelez-vous que nous avons utilisé une boucle while
dans Reeborg quand on ne connaît pas le nombre d’itérations à l’avance. En d’autres termes, le corps de while sera répété tant que l’expression booléenne de contrôle renvois True
. Exécutez le code ci-dessous. Pouvez-vous changer le code pour qu’il compte de 1 à 10 au lieu de compter à rebour de 10, puis indique “J’arrive!”?
1.12. boucle for
loop¶
Lorsque nous avons connu le nombre exact d’itérations nécessaires dans Reeborg, nous avons utilisé la commande repeat
. Cette commande ne faisait pas partie de la norme Python. Elle a été ajoutée pour que le codâge de Reeborg soit aussi simple que possible. Bien que je n’explique pas encore tous les détails à ce sujet, je vais vous présenter la version Python d’une boucle de répétition for
. Si nous voulons que quelque chose se répète 10 fois, nous pourrions faire ce qui suit: (après avoir exécuté le code, changez le 10
en un autre nombre et essayez à nouveau)
Notez que la boucle ci-dessus se répète 10 fois, mais commence à compter depuis 0. Le dernier nombre est donc un 9. Nous pouvons contrôler la boucle for
encore plus en passant entre deux arguments, comme ceci:
1.13. Des listes¶
Comment fonctionne le range ci-dessus? Cela crée une liste de nombres, ce qui nous permet d’enregistrer plus d’une valeur dans la même variable. Par exemple, lorsque nous avons appelé range(5, 11)
ci-dessus, Python a créé une liste avec les nombres 5, 6, 7, 8, 9, 10. Si nous avions voulu créer cette liste nous-mêmes, nous aurions pu fait quelque chose comme ça:
liste_de_nombres = [5, 6, 7, 8, 9, 10]
Nous pouvons insérer n’importe quel type de données dans une liste, il serait donc possible de créer une liste comme celle-ci:
liste_de_nombres = [5, "heureux", 2.5, True]
Si nous créons notre propre liste, nous pouvons toujours y parcourir à l’aide d’une boucle for
. Par exemple, si vous tenez comptes des achats que vous vouliez chercher au magasin, vous pourriez mettre tous les articles que vous voulez acheter dans une liste, puis les imprimer/print.
Si vous souhaitez accéder à un seul élément dans une liste, vous pouvez spécifier l’emplacement de l’élément souhaité. Par exemple, si nous voulions accéder aux carottes de la liste d’épicerie ci-dessus, nous pourrions demander le 1er élément (puisque nous commençons à compter à partir de 0). Nous plaçons l’emplacement entre crochets/brackets. Pour accéder aux carottes, nous appellerions liste_epiceries[1]
.
1.14. Les fonctions¶
Tout comme vous avez pu apprendre à Reeborg à faire de nouvelles choses en créant une nouvelle fonction, nous pouvons également créer de nouvelles fonctions en Python. Voici quelques exemples:
1.15. Saisir des données de l’utilisateur/Taking Input from User¶
Si vous voulez que l’utilisateur tape quelque chose, vous pouvez utiliser la fonction input()
. Voici quelques exemples:
Note
input()
retournera toujours une chaîne. Vous devrez le convertir en int ou float si vous voulez un nombre.
L’exemple suivant ne fonctionnera pas lorsque vous essayez de l’exécuter. Essayez d’entrer 16
, puis 15
. Notez que rien n’est imprimé, même s’il semble que le conditionnel devrait l’imprimer. Pouvez-vous comprendre ce qui ne va pas et le réparer? Astuce: pensez aux types de données!
1.16. Modules Python¶
Un des avantages de Python est qu’il existe de nombreux modules qui augmanter les fonctionnalités de base de Python. Un module est simplement un fichier (ou dossier) contenant des fonctions et des variables Python. Vous avez créé votre propre module lorsque vous exploriez Reeborg. Lorsque vous avez tapé from library import *
, vous avez mis toutes les fonctions de l’onglet Library à la disposition de votre programme. Veuillez noter que bien que nous puissions utiliser la syntaxe from library import *
, cela peut poser problème si vous créez accidentellement une fonction portant le même nom que quelque chose que vous avez importé. Voir le deuxième exemple ci-dessous pour la méthode d’importation recommandée.
1.17. Jeu de devinettes de nombre¶
Rappelez-vous le jeu de devinettes que nous avons créé dans Scratch? Le principe de base était le suivant:
- génère un nombre aléatoire de 1 à 100 et le garder dans une variable
- répète ce qui suit jusqu’à ce que l’utilisateur devine le nombre
- oblige l’utilisateur à deviner le nombre (en utilisant le bloc demander__et attendre)
- indique à l’utilisateur si le nombre est trop élevé ou trop bas
- félicite l’utilisateur quand il trouve le nombre exact avec un message du type “Bravo! Vous avez deviné le nombre exact en 9 essais!”
Nous allons essayer d’implémenter ce jeu en Python. Remarque: vous rencontrerez probablement de nombreux problèmes lors de la création de ce jeu en Python. Toutefois, il peut être très utile d’essayer des problèmes qui donnent l’impression d’être supérieurs à votre niveau. Bientôt, vous pourrez créer vous-même des programmes comme celui-ci! Votre enseignant peut choisir de vous donner un peu de temps pour essayer cela par vous-même, puis de démontrer une solution possible au problème, ou peut-être de revenir à ce jeu dans quelques semaines.