Différences entre versions de « Initiation au langage python »
(16 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{Widget:Fiche-Conceptuelle-Haut}} | {{Widget:Fiche-Conceptuelle-Haut}} | ||
− | [https://cmapscloud.ihmc.us/viewer/cmap/1YLZ52KMQ-10876FQ-J1V0Z9 Carte conceptuelle] | + | [https://cmapscloud.ihmc.us/viewer/cmap/1YLZ52KMQ-10876FQ-J1V0Z9 Carte conceptuelle Python] |
= {{Widget:Traduction-Fiche}} = | = {{Widget:Traduction-Fiche}} = | ||
Ligne 12 : | Ligne 12 : | ||
[[{{FULLPAGENAME}}]] (Français) | [[{{FULLPAGENAME}}]] (Français) | ||
− | / [[Computer science, Developement]] (Anglais) | + | / [[Computer science, Developement with Python, Langage Python]] (Anglais) |
− | / [[برمجة]] (Arabe) | + | / [[برمجة بايثون]] (Arabe) |
}}<!-- ************** Fin Fiche Didactique Traduction ********************* --> | }}<!-- ************** Fin Fiche Didactique Traduction ********************* --> | ||
Ligne 72 : | Ligne 72 : | ||
== {{Widget:Definition-graphique-Fiche}} == | == {{Widget:Definition-graphique-Fiche}} == | ||
− | + | {{cc}} [https://cmapscloud.ihmc.us/viewer/cmap/1YLZ52KMQ-10876FQ-J1V0Z9 Carte conceptuelle] | |
<!-- ************************* Début ****************************** --> | <!-- ************************* Début ****************************** --> | ||
{{Fiche Didactique Media <!-------------------------------------------> | {{Fiche Didactique Media <!-------------------------------------------> | ||
Ligne 134 : | Ligne 134 : | ||
<!-- ****************** Commercez les modifications *********************** --> | <!-- ****************** Commercez les modifications *********************** --> | ||
− | *........... | + | *1- Le juste prix : |
− | + | Le juste prix projet python débutant | |
− | + | Ce premier projet est un jeu amusant pour les débutants connu de tous. Le programme génère un prix rond aléatoire. Le but pour l’utilisateur est de deviner le prix. Chaque fois que l’utilisateur se trompe, l’ordinateur lui dit si c’est plus ou moins que le prix qu’il a donné. À chaque aide de l’ordinateur, le score final atteignable par le joueur baisse. | |
− | + | ||
− | *............ | + | Le but du juste prix est de deviner un nombre entier choisi aléatoirement par Python. Écrivez un script qui attribue un nombre à une variable. Dans une boucle, demandez un input à l’utilisateur et informez le joueur si le nombre entré est égale, plus grand ou plus petit que le juste prix. |
− | + | ||
− | + | En réalisant ce petit script, vous apprendrez à : | |
− | + | ||
+ | saisir des entrées clavier par un utilisateur | ||
+ | créer des fonctions pour valider que le nombre entré est bien un nombre entier | ||
+ | comparer une variable de référence (le prix) avec une autre variable | ||
+ | calculer la différence entre deux nombres | ||
+ | <pre> | ||
+ | import random | ||
+ | prix = random.randint(1, 10) | ||
+ | score = 100 | ||
+ | tentatives = 0 | ||
+ | print("Devinez le juste prix ! Le prix est un nombre compris entre 1 et 10 inclus.") | ||
+ | while True: | ||
+ | nombre = int(input()) | ||
+ | tentatives += 1 | ||
+ | if nombre < prix: | ||
+ | print("Le just prix est plus haut") | ||
+ | if nombre > prix: | ||
+ | print("Le juste prix est plus bas") | ||
+ | if nombre == prix: | ||
+ | print("Félicitations, vous avez trouvé le juste prix {} en {} essais, votre score est {} !".format(prix, tentatives, int(score / tentatives))) | ||
+ | break | ||
+ | print("Partie terminée") | ||
+ | |||
+ | </pre> | ||
+ | *2- Générateur des nombres de la suite de Fibonacci | ||
+ | Suite Fibonacci Python | ||
+ | |||
+ | La série mathématique connue sous le nom de suite de Fibonacci a été l’une des questions informatique les plus populaires. Essentiellement, vous commencez avec deux nombres, de préférence 0 et 1, et vous les ajoutez pour créer votre troisième nombre de Fibonacci. Ensuite, il suffit d’additionner la somme et l’avant-dernier terme de Fibonacci pour générer le suivant. | ||
+ | Ce qui donne : | ||
+ | 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987... | ||
+ | Pour réaliser la suite de Fibonnaci, demandez la position du nombre à l’utilisateur puis générez la suite jusqu’à ce nombre. Une fois généré, vous pouvez afficher le nombre correspondant à l’utilisateur. Vous pouvez aller plus loin et montrer à l’utilisateur la série entière jusqu’à ce point. | ||
+ | C’est l’un des meilleurs projets Python pour s’initier au concept de la fonction récursive. | ||
+ | Voici l’exemple d’une implémentation basique d’un générateur de nombres de la suite de Fibonacci’ : | ||
+ | <pre> | ||
+ | nombres = int(input("Entrez la quantité de nombres à afficher : ")) | ||
+ | a = 0 | ||
+ | b = 1 | ||
+ | total = 0 | ||
+ | print("Les {0} premiers nombres de la suite de Fibonacci sont :".format(nombres), end = " ") | ||
+ | for _ in range(nombres): | ||
+ | print(total, end = " ") | ||
+ | a = b | ||
+ | b = total | ||
+ | total = a + b | ||
+ | </pre> | ||
+ | Ou de manière récursive : | ||
+ | <pre> | ||
+ | nombres = int(input("Entrez la quantité de nombres à afficher : ")) | ||
+ | def fibonacci_recursive(n): | ||
+ | if n <= 1: | ||
+ | return n | ||
+ | else: | ||
+ | return fibonacci_recursive(n - 2) + fibonacci_recursive(n - 1) | ||
+ | print("Les {0} premiers nombres de la suite de Fibonacci sont :".format(nombres), end = " ") | ||
+ | for i in range(nombres): | ||
+ | print(fibonacci_recursive(i), end = " ") | ||
+ | </pre> | ||
}}<!--************** Fin Fiche Didactique Explicitations ******************* --> | }}<!--************** Fin Fiche Didactique Explicitations ******************* --> | ||
− | |||
= {{Widget:Erreurs-confusions-Fiche}} = | = {{Widget:Erreurs-confusions-Fiche}} = | ||
Ligne 156 : | Ligne 211 : | ||
{{@}} '''Erreur: Croire que''' | {{@}} '''Erreur: Croire que''' | ||
− | * . | + | * Le pas d'une boucle est toujours obligatoire : on peut dans une boucle mentionner le pas comme ne pas le mentionner. |
− | * | + | * Le pas d'une boucle est toujours égal à 1 : un pas d'une boucle peut avoir n'importe quelle valeur. |
+ | * Le pas d'une boucle est toujours positif : le pas peut avoir une valeur positive (on parle dans ce cas d'incrémentation) comme il peut avoir une valeur négative (on parle dans ce cas de décrémentation). | ||
{{@}} '''Confusion possible ou glissement de sens''' | {{@}} '''Confusion possible ou glissement de sens''' | ||
− | * Confusion entre [[ | + | * Confusion entre [[Tuple - Liste]] : la première est une structure de données non modifiable alors que la deuxième est modifiable (on peut ajhouter ou supprimer un élément). |
− | * Confusion entre [[ | + | * Confusion entre [[Tableau - Liste]] : les éléments d'un tableau doivent être homogènes (ils ont le même type) alors que les éléments d'une liste peut être hétérogènes (de typs différents). |
{{@}} '''Erreur fréquente''': | {{@}} '''Erreur fréquente''': | ||
− | * .. | + | * Quand on fait de la programmation avec le langage Python, on a tendance à oublier que la saisie a un type par défaut qui est chaînes de caractères. De ce fait, il ne faut pas oublier de faire appel aux fonctions de conversions si on veut les données en entrée avec un autre type. Sinon, ça va générer des erreurs. |
}}<!-- ************** Fin Fiche Didactique Conceptions ********************* --> | }}<!-- ************** Fin Fiche Didactique Conceptions ********************* --> | ||
Ligne 177 : | Ligne 233 : | ||
<!-- ************ Commercez les modifications *********************--> | <!-- ************ Commercez les modifications *********************--> | ||
− | * [[ | + | * [[Pour manipuler des éléments, quelle structure de données utiliser ?]]? |
− | * [[ | + | * [[Pour faire un traitement répétitif, comment choisir entre les deux structures répétitives ]]? |
− | + | ||
}}<!-- ******** Fin Fiche Didactique Questions ******************* --> | }}<!-- ******** Fin Fiche Didactique Questions ******************* --> | ||
Ligne 195 : | Ligne 251 : | ||
<!-- ****************** Commercez les modifications ************************** --> | <!-- ****************** Commercez les modifications ************************** --> | ||
− | * . | + | * Avant de démarrer le cours, il faudrait mieux commencer par une activité simple, un questionnaire par exemple, contenant quelques mots clés pour que les apprenants soient familiarisés avec d'une façon souple. |
− | + | ||
− | * . | + | * Pour résoudre les exercices, il est déconseillé de donner rapidement la réponse. Au contraire, inciter les apprenants à utiliser les trois formes de boucles pour qu'ils dégagent tous seuls la solution adéquate |
− | + | ||
}}<!-- ************************* Fin Idées-Enseignement ********************** --> | }}<!-- ************************* Fin Idées-Enseignement ********************** --> | ||
− | |||
== {{Widget:Aides et astuces-Fiche}} == | == {{Widget:Aides et astuces-Fiche}} == | ||
Ligne 212 : | Ligne 267 : | ||
<!-- ****************** Commercez les modifications ************************** --> | <!-- ****************** Commercez les modifications ************************** --> | ||
− | * | + | * Pour faire de la programmation avec Python, il y a pplusieurs façons : |
− | :* .... | + | :*EDI en ligne comme : |
− | * ... | + | -[https://www.onlinegdb.com/online_python_compiler OnlineGDB] |
− | :* ......... | + | -[https://www.programiz.com/python-programming/online-compiler/ Programiz] |
− | + | :*EDI installables sur PC : | |
+ | -[https://www.jetbrains.com/pycharm/ PyCharm] | ||
+ | -[https://thonny.org/ Thonny] | ||
+ | :*EDI installables sur smartphones : | ||
+ | -[https://play.google.com/store/apps/details?id=ru.iiec.pydroid3&hl=en_US&gl=US Pydroid 3] | ||
+ | -[https://play.google.com/store/apps/details?id=com.creativeide.niyko.creativeide&hl=en&gl=US Creative IDE3] | ||
}}<!-- ************************* Fin Astuces-Enseignement ********************** --> | }}<!-- ************************* Fin Astuces-Enseignement ********************** --> | ||
Ligne 227 : | Ligne 287 : | ||
<!-- ****************** Commercez les modifications ************--> | <!-- ****************** Commercez les modifications ************--> | ||
− | :* ... | + | :* [https://didactique.info/formation/course/view.php?id=465 Cours sur didactique.info] |
− | :* .. | + | :* [https://courspython.com/introduction-python.html Cours (lien externe)] |
− | :* . | + | :* [https://forms.gle/UXtHT3RT9779AFe66 Quizz] |
}}<!-- ************ Fin Liens Education ********************** --> | }}<!-- ************ Fin Liens Education ********************** --> | ||
Ligne 243 : | Ligne 303 : | ||
<!-- ****************** Commercez les modifications *********************--> | <!-- ****************** Commercez les modifications *********************--> | ||
− | * . | + | * Henri G., Programmer en Python, Département d’Informatique – Faculté des Sciences de Luminy – Université d’Aix-Marseille |
− | + | ||
− | |||
− | |||
}}<!-- ************* Fin Fiche Didactique Bibliographie *************** --> | }}<!-- ************* Fin Fiche Didactique Bibliographie *************** --> | ||
{{Widget:Fiche-Conceptuelle-Bas}} | {{Widget:Fiche-Conceptuelle-Bas}} |
Version actuelle datée du 11 janvier 2023 à 14:42
Votre Publicité sur le Réseau |
Traduction
Initiation au langage python (Français)
/ Computer science, Developement with Python, Langage Python (Anglais)
/ برمجة بايثون (Arabe)
Traductions
Définition
Domaine, Discipline, Thématique
Justification
Définition écrite
Python est un langage de programmation. Il est l'un des langages de programmation les plus intéressants du moment. Facile à apprendre, python est souvent utilisé en exemple lors de l'apprentissage de la programmation. Vous trouverez sur ce site des cours / tuto informatiques qui vous enseigneront les bases pour la compréhension de ce langage. Pour les développeurs plus expérimentés le site vous indiquera quelques astuces pour vos projets.
Python est un langage de programmation inventé par Guido van Rossum. La première version de python est sortie en 1991. Python est un langage de programmation interprété, c'est-à-dire qu'il n'est pas nécessaire de le compiler avant de l'exécuter. Si vous avez déjà touché un peu à la programmation, vous verrez que ce langage possède une certaine poésie. Les programmeurs s'amusent souvent à trouver la manière la plus élégante et efficace d'écrire une suite d'instructions.
Python est à la fois simple et puissant, il vous permet d'écrire des scripts très simples et grâce à ses nombreuses bibliothèques, vous pouvez travailler sur des projets plus ambitieux. - Web: Aujourd'hui python combiné avec le framework Django est un très bon choix technologique pour des gros projets de sites internet. - Système: Python est également souvent utilisé par les admin système pour créer des tâches dites répétitives ou simplement de maintenance. D'ailleurs si vous voulez créer des applications java en codant en python, c'est possible grâce au projet Jython. |
Initiation au langage python - Historique (+)
Définition graphique
Concepts ou notions associés
Initiation au langage python - Glossaire / (+)
Exemples, applications, utilisations
Le juste prix projet python débutant Ce premier projet est un jeu amusant pour les débutants connu de tous. Le programme génère un prix rond aléatoire. Le but pour l’utilisateur est de deviner le prix. Chaque fois que l’utilisateur se trompe, l’ordinateur lui dit si c’est plus ou moins que le prix qu’il a donné. À chaque aide de l’ordinateur, le score final atteignable par le joueur baisse. Le but du juste prix est de deviner un nombre entier choisi aléatoirement par Python. Écrivez un script qui attribue un nombre à une variable. Dans une boucle, demandez un input à l’utilisateur et informez le joueur si le nombre entré est égale, plus grand ou plus petit que le juste prix. En réalisant ce petit script, vous apprendrez à : saisir des entrées clavier par un utilisateur créer des fonctions pour valider que le nombre entré est bien un nombre entier comparer une variable de référence (le prix) avec une autre variable calculer la différence entre deux nombres import random prix = random.randint(1, 10) score = 100 tentatives = 0 print("Devinez le juste prix ! Le prix est un nombre compris entre 1 et 10 inclus.") while True: nombre = int(input()) tentatives += 1 if nombre < prix: print("Le just prix est plus haut") if nombre > prix: print("Le juste prix est plus bas") if nombre == prix: print("Félicitations, vous avez trouvé le juste prix {} en {} essais, votre score est {} !".format(prix, tentatives, int(score / tentatives))) break print("Partie terminée")
Suite Fibonacci Python La série mathématique connue sous le nom de suite de Fibonacci a été l’une des questions informatique les plus populaires. Essentiellement, vous commencez avec deux nombres, de préférence 0 et 1, et vous les ajoutez pour créer votre troisième nombre de Fibonacci. Ensuite, il suffit d’additionner la somme et l’avant-dernier terme de Fibonacci pour générer le suivant. Ce qui donne : 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987... Pour réaliser la suite de Fibonnaci, demandez la position du nombre à l’utilisateur puis générez la suite jusqu’à ce nombre. Une fois généré, vous pouvez afficher le nombre correspondant à l’utilisateur. Vous pouvez aller plus loin et montrer à l’utilisateur la série entière jusqu’à ce point. C’est l’un des meilleurs projets Python pour s’initier au concept de la fonction récursive. Voici l’exemple d’une implémentation basique d’un générateur de nombres de la suite de Fibonacci’ : nombres = int(input("Entrez la quantité de nombres à afficher : ")) a = 0 b = 1 total = 0 print("Les {0} premiers nombres de la suite de Fibonacci sont :".format(nombres), end = " ") for _ in range(nombres): print(total, end = " ") a = b b = total total = a + b Ou de manière récursive : nombres = int(input("Entrez la quantité de nombres à afficher : ")) def fibonacci_recursive(n): if n <= 1: return n else: return fibonacci_recursive(n - 2) + fibonacci_recursive(n - 1) print("Les {0} premiers nombres de la suite de Fibonacci sont :".format(nombres), end = " ") for i in range(nombres): print(fibonacci_recursive(i), end = " ") |
Erreurs ou confusions éventuelles
- Le pas d'une boucle est toujours obligatoire : on peut dans une boucle mentionner le pas comme ne pas le mentionner.
- Le pas d'une boucle est toujours égal à 1 : un pas d'une boucle peut avoir n'importe quelle valeur.
- Le pas d'une boucle est toujours positif : le pas peut avoir une valeur positive (on parle dans ce cas d'incrémentation) comme il peut avoir une valeur négative (on parle dans ce cas de décrémentation).
Confusion possible ou glissement de sens
- Confusion entre Tuple - Liste : la première est une structure de données non modifiable alors que la deuxième est modifiable (on peut ajhouter ou supprimer un élément).
- Confusion entre Tableau - Liste : les éléments d'un tableau doivent être homogènes (ils ont le même type) alors que les éléments d'une liste peut être hétérogènes (de typs différents).
- Quand on fait de la programmation avec le langage Python, on a tendance à oublier que la saisie a un type par défaut qui est chaînes de caractères. De ce fait, il ne faut pas oublier de faire appel aux fonctions de conversions si on veut les données en entrée avec un autre type. Sinon, ça va générer des erreurs.
Questions possibles
Liaisons enseignements et programmes
Idées ou Réflexions liées à son enseignement
- Avant de démarrer le cours, il faudrait mieux commencer par une activité simple, un questionnaire par exemple, contenant quelques mots clés pour que les apprenants soient familiarisés avec d'une façon souple.
- Pour résoudre les exercices, il est déconseillé de donner rapidement la réponse. Au contraire, inciter les apprenants à utiliser les trois formes de boucles pour qu'ils dégagent tous seuls la solution adéquate
Aides et astuces
Education: Autres liens, sites ou portails
Bibliographie
Pour citer cette page: (au langage python)
ABROUGUI, M & al, 2023. Initiation au langage python. In Didaquest [en ligne]. <http:www.didaquest.org/wiki/Initiation_au_langage_python>, consulté le 21, novembre, 2024
- Henri G., Programmer en Python, Département d’Informatique – Faculté des Sciences de Luminy – Université d’Aix-Marseille