Accueil » Leçon 1 - Afficher, saisir, variables, calculs

Leçon 1 - Afficher, saisir, variables, calculs

Objectifs de la leçon :

Cette leçon est centrée sur les bases de la programmation :

  • Afficher un message à l'écran.
  • Saisir une information venue de l'utilisateur.
  • Connaître la notion de variable.
  • Savoir effectuer des calculs.

Pré-requis :

Aucun.


Des exemples pour démarrer


Afficher une phrase à l'écran

Exemple : Bonjour tout le monde !

Ceci est notre premier programme Python. Cliquez sur le bouton "Exécuter le programme" pour voir ce qu'il produit.


Le programme affiche la sortie suivante :

Bonjour tout le monde !
  • print est le nom de la commande Python qui envoie des messages vers la sortie.
  • Les parenthèses () après la commande print sont utilisées pour contenir ce que vous voulez afficher.
  • Les guillemets " " sont utilisés pour contenir le texte Bonjour, tout le monde !



A vous de jouer pour écrire votre premier programme !

Exercice de code : Mon premier programme en Python

Dans la zone disponible plus bas, écrire votre propre programme qui affiche en sortie :
Mon premier programme en Python
Quand vous êtes prêt, cliquer sur "Exécuter le programme". Si c'est vert, vous avez bon !

Quand vous aurez réussi, vous pourrez aussi vous "amuser" à commettre des erreurs de différentes façons, par exemple :
  • en vous trompant dans l'orthographe du message,
  • en oubliant une ou les deux parenthèses,
  • en oubliant les guillemets,
  • en vous trompant dans le nom de la commande print. Par exemple, en écrivant Print au lieu de print.

Vous aurez ainsi l'occasion d'observer différents messages renvoyés par le système en cas d'erreur. Vous en saurez plus sur ces messages en lisant plus tard la section "Des pièges à éviter", plus bas dans cette page.


Créer des variables et les afficher.

Les variables sont des endroits où sont stockées les données d'un programme.

Chaque variable possède un nom et une valeur.

Observez le programme ci-dessus qui crée une personne avec un prénom, un âge et une taille puis qui affiche les caractéristiques de cette personne.

Exemple : Une personne qui possède un prénom, un âge et une taille (en m)

Analysons ce programme :

  • Les 3 premières lignes sont des déclarations de variables avec affectation d'une valeur.
  • La ligne 4 affiche :
    Bonjour Gilbert !
    Remarquez le fonctionnement de print :

    • Le premier paramètre est "Bonjour". Donc print affiche Bonjour.
    • Le deuxième paramètre est prenom, sans guillemets. Comme il n'y a pas de guillemets, print cherche une variable qui se nomme prenom et affiche sa valeur. print affiche donc Gilbert.
    • Le troisième paramètre est "!" donc print affiche !
  • Pour les mêmes raisons que ci-dessus, la ligne 5 affiche :
    Tu as 22 ans et tu mesures 1.82 m.

Les variables age et taille ont été remplacées respectivement par 22 et 1.82.

Notez bien ceci :
  • L'affectation d'une variable se lit de droite à gauche.
  • Les 3 premières lignes vous ont donné un aperçu des 3 types de variables qui existent en python:
    • La variable prenom est de type Chaîne de caractères. En Python, on parle de type string.
    • La variable age est de type entier. En Python, c'est le type int.
    • La variable taille est de type nombre à virgule. En Python, c'est le type float.
      Notez bien que le séparateur décimal est le point et non la virgule.

  • Les paramètres de la fonction print sont séparés par des virgules.
  • Quand print rencontre un paramètre entre guillemets, il affiche le contenu entre guillemets.
  • Quand print rencontre un paramètre sans guillemet, il cherche une variable portant le nom de ce paramètre et il affiche alors la valeur de la variable.


Vous pouvez visualiser le déroulement de ce programme ligne après ligne en utilisant le visualisateur :


Dans la suite de ce cours, vous pourrez toujours utiliser le bouton "Visualiser " comme indiqué dans la vidéo ci-dessous :


Demander à l'utilisateur d'entrer des données et s'en servir.

Dans le programme précédent, on fixait le prénom, l'âge et la taille de l'utilisateur. Mais on peut aussi lui demander d'entrer les données de son choix. C'est l'objet de la fonction input().

Le site sur lequel vous êtes en train de travailler ne gère pas les input de façon habituelle, aussi nous vous conseillons de copier le code ci-dessous et de l'exécuter dans un des trois modes qu'on vous a montrés pendant les sceencasts de départ.

prenom = str(input("Quel est ton prenom ? "))
age = int(input("Quel est ton age ? "))
taille = float(input("Quelle est ta taille ? "))
print ("Bonjour",prenom,"!")
print ("Tu as",age,"ans et tu mesures",taille,"m.")

 

  Quand vous exécuterez ce code, vous constaterez que lorsqu'une instruction input est rencontrée :
  • Le programme affiche le message qui indique à l'utilisateur ce qu'il doit faire. Ici, le premier message affiché est "Quel est ton prénom ?".
  • Ensuite le programme est stoppé et attend la saisie de l'utilisateur. Il doit valider sa saisie par la touche Entrée.
  • Une fois la saisie validée, le programme convertit la donnée de l'utilisateur dans le type attendu. C'est l'objet des instructions, str, int et float qui se trouvent avant les input.
  • Puis l'affectation = entre cette donnée dans la variable prévue pour le stockage.


Faire des calculs

Comme tous les langages de programmation, Python permet d'effectuer des calculs.

La syntaxe des calculs obéit aux même règles que celles utilisées en mathématiques.

Voici quelques exemples.

Exemple 1 : combien coûtent 3 kg de pommes à 3.50 € le kg ?

Exemple : Prix de 3 kg de pommes à 3.50 € le kg

Le signe de la multiplication est *.


Exemple 2 : un pantalon coûte 65.50 € et il est soldé avec 30 % de remise. Quel est le montant de la remise et quel est le nouveau prix du pantalon ?

Exemple : Pantalon soldé à 30 %


Exemple 3 : Calcul d'une moyenne pondérée.

La note moyenne d'un module d'informatique est obtenue par une moyenne pondérée de 3 notes : DS (devoir surveillé), CC (contrôle de cours) et TP (travaux pratiques).

Les coefficients des 3 épreuves sont différents :

  • DS : coeff 3
  • CC : coeff 1
  • TP : coeff 2

Exemple : Moyenne pondérée

Ce programme calcule la moyenne d'un étudiant ayant obtenu respectivement 12, 10 et 15 en DS, CC et TP.

Notez bien ceci :
  • La priorité de la multiplication sur l'addition permet de ne pas mettre de parenthèse autour des produits coeffDS*noteDS, coeffCC*noteCC et coeffTP*noteTP.
    ... Mais rien n'empêche d'en mettre.
  • Vous pourrez réduire le nombre de chiffres affichés après la virgule et arrondir par exemple au centième près le plus proche en lisant la rubrique "Bon à savoir", plus bas dans cette page.


Une petite vidéo explicative :


Un petit exercice pour se tester avant la suite !

Exercice mêlé : Affectations mélangées

Réorganisez les lignes de code suivantes pour que le programme affiche :
a = 8
b = -5
c = 13
Pour réorganiser les lignes, cliquez dessus puis déplacez-les vers le haut ou le bas.

  • a = 8
  • print("c =",c)
  • b = a - c
  • c = a + b
  • b = a - 3
  • print("a =",a)
  • print("b =",b)
Bien !


Indication

L'ESSENTIEL AVEC DES EXEMPLES DE BASE

A la fin de cette leçon, vous devrez bien savoir :

  • utiliser les variables ;
  • afficher un message à l'écran ;
  • demander à l'utilisateur de saisir des informations ;
  • effectuer des calculs ;
  • commenter votre code.



Utiliser les variables

Les variables sont des endroits où sont stockées les données d'un programme.

Chaque variable possède un nom et une valeur.

Exemple :

espece = "Lion"
nom = "Simba"
nombrePattes = 4
poids = 172.3
Pour l'instant vous devez connaître trois types de variables :

  • Les variables de type chaîne de caractères. En Python, on parle de type string.
    espece = "Lion"
    nom = "Simba"
  • Les variables de type entier. En Python, c'est le type int.
    nombrePattes = 4
  • Les variables de type nombre à virgule. En Python, c'est le type float.
    poids = 172.3
    Notez bien que le séparateur décimal est le point et non la virgule.


On appelle affectation l'instruction qui permet de donner une valeur à une variable.
Elle est réalisée selon le schéma :

variable = valeur
L'affectation d'une variable se lit de droite à gauche.
Voici des exemples d'affectation erronées :
a + b = somme
3 = x
y - 1 = 8



Afficher à l'écran, la fonction print

La fonction print permet d'afficher des sorties du programme à l'écran :

Exemple : Fifi apprend le python

Affichage d'une chaîne de caractères constante.

Exemple : Afficher les valeurs de a et b

Affichage combiné de texte et de variables entières.

Exemple : Fifi apprend le python 2

Affichage combiné de texte et de variables chaîne ou numériques.

Notez bien ceci :
  • Les paramètres de la fonction print sont séparés par des virgules.
  • Quand print rencontre un paramètre entre guillemets, il affiche le contenu entre guillemets.
  • Quand print rencontre un paramètre sans guillemet, il cherche une variable portant le nom de ce paramètre et il affiche alors la valeur de la variable.


Une petite question avant de poursuivre :

Exercice à choix multiple : Echange ?
Qu'affiche le programme suivant ?
a = 3
b = 5
a = b
b = a
print ("a =",a,"et b =",b)
Bien !


Demander à l'utilisateur d'entrer des données.

C'est la fonction input() qui permet de récupérer des données saisies par l'utilisateur.

La syntaxe de la fonction input est :

maVariable = typeAttendu(input("Message d'invite"))
  • maVariable est la variable dans laquelle sera stockée la saisie de l'utilisateur.
  • typeAttendu est str, int ou float selon ce qu'attend le programmeur.
  • "Message d'invite" est le message qu'on donne à l'utilisateur pour lui indiquer ce qu'on attend qu'il saisisse.

Le site sur lequel vous êtes en train de travailler ne gère pas les input de façon habituelle, aussi nous vous conseillons de copier le code ci-dessous et de l'exécuter dans un des trois modes qu'on vous a montrés pendant les sceencasts de départ.

prenom = str(input("Quel est ton prenom ?"))
age = int(input("Quel est ton age ?"))
taille = float(input("Quel est ta taille ?"))
print ("Bonjour",prenom,"!")
print ("Tu as",age,"ans et tu mesures",taille,"m.")

 

Lorsqu'une instruction input est rencontrée, les 4 étapes suivantes se déroulent dans cet ordre :
  • Le programme affiche le message d'invite.
  • Le programme est stoppé et attend la saisie de l'utilisateur. Il doit valider sa saisie par la touche Entrée.
  • Le programme convertit la donnée de l'utilisateur dans le type attendu.
  • L'affectation = entre cette donnée dans la variable prévue pour le stockage.



Effectuer des calculs

Les 7 opérations sur les nombres :

Ce sont l'addition (+), la soustraction (-), la multiplication (*), la puissance (**), le quotient réel (/), le quotient entier (//) et le reste de la division (%).

Exemple : Les 7 opérations avec des entiers

Exemple : Les 7 opérations avec des float

Python intègre la priorité des opérations telle qu'on la rencontre en mathématiques. Dans l'exemple suivant, le programme affiche 19 et non 27 car la multiplication est prioritaire sur l'addition.
Exemple : Priorités des opérations

Python affiche souvent les nombres à virgule avec un nombre élevé de décimales. Si vous voulez fixer le nombre de décimales à l'affichage, voir plus bas dans cette page dans la rubrique "Bon à savoir".



Les 2 opérations sur les chaînes de caractères :

Ce sont la concaténation (+) et la répétition (*).


La concaténation :

Exemple : Concaténation

Notez que dans l'exemple précédent, le i de "Fifi" est collé au v de "va à la plage". Pour éviter cela, on a plusieurs options :
Exemple : Concaténation
On peut rajouter un espace en fin de chaîne "Fifi". nom devient "Fifi ".
Exemple : Concaténation
On peut rajouter un espace en début de chaîne "va à la plage". action devient " va à la plage"
Exemple : Concaténation
On peut intercaler un espace entre les deux chaînes en concaténant 2 fois.



La répétition :

Exemple : Répétition
Comme son nom l'indique, multiplier une chaîne S par un entier N produit une chaîne dans laquelle S est répétée N fois.



Fonctions mathématiques standard :

Python intègre un module spécifique qui contient les fonctions mathématiques standard comme la racine carrée.

Pour utiliser un module, il faut l'importer. Puis on utilise la fonction dont on a besoin selon la syntaxe :

NomDuModule.NomDeLaFonction
Exemple : un studio carré a une superficie de 40 m carrés. Combien mesure le côté du studio ?

On cherche donc la racine carrée de 40.

Exemple : Côté d'un carré
  • En ligne 1, on importe le module math
  • En ligne 3, pour utiliser la fonction sqrt du module math, on appelle math.sqrt

  • Le module math contient un très grand nombre de fonctions mathématiques standards : sinus, cosinus,  exponentielle, logarithme, puissance etc...
    Voir https://docs.python.org/3.4/library/math.html pour plus d'informations...
  • Pour en savoir plus sur les modules en général :
    http://python.lycee.free.fr/modules_utiles.html
  • Pour éviter la lourdeur de la syntaxe math.sqrt, on peut procéder autrement :
    Exemple : Côté d'un carré
    • En ligne 1, on importe la fonction sqrt du module math
    • En ligne 3, il devient donc inutile de rappeler que la fonction sqrt est contenue dans le module math.



Commenter son code.

Voici ce qu'on peut lire sur le site http://cscircles.cemc.uwaterloo.ca/3-fr/ au sujet des commentaires :

Un programme informatique ressemble à un langage codé, ce qui est nécessaire pour que l'ordinateur comprenne précisément ce que vos commandes signifient. Mais, étant un langage codé, il est difficile pour les humains de le lire. Pour compenser ce problème, vous êtes autorisés à écrire des notes dans votre programme que l'ordinateur ignore. Ces notes s'appellent des commentaires.

En Python, une ligne d'instructions qui contient le symbole # (dièse) signifie un commentaire. Le reste de la ligne sera ignorée quand le programme sera exécuté.

Voici un exemple portant sur la consommation lors d'un trajet en voiture. Le programmeur a abondamment commenté son code, pour séparer les différentes parties du code, décrire ses variables et mettre en valeur les calculs un peu délicat.

Exemple : Consommation sur un trajet Paris-Marseille

Une Golf diesel consomme 4.7 litres aux 100 km sur autoroute à la vitesse moyenne de 110 km/h.
La consommation pour une vitesse moyenne de 130 km/h passe à 6 litres aux 100 km.
Sur un trajet Paris-Marseille de 775 km, quelle est la surconsommation (en l) en roulant à 130 plutôt qu'à 110 ?
Quel coût supplémentaire cela engendre-t-il (litre de diesel à 1.39 €) ?

 



Une petite question facile pour finir :

Exercice à réponse courte : Commentaires

Sur combien de lignes trouve-t-on des commentaires dans l'exemple de code précédent (consommation sur le trajet Paris-Marseille) ?
Bien !

Quelques exemples plus poussés

Comparaison de formules de cinéma :

Un cinéphile a le choix entre 3 formules :

  • F1 : acheter les billets à l'unité. Prix de la place 9,50 €
  • F2 : acheter des cartes de 10 billets à 65 € la carte.
  • F3 : prendre un abonnement annuel pour un nombre de places illimité. Coût mensuel : 20,50 €.

Le programme suivant renseigne l'utilisateur en lui indiquant pour chaque formule ce que sera sa dépense annuelle pour un nombre de films allant de 10 à 50 en augmentant de 10 à chaque fois.

Exemple : Places de cinéma



Stockage et transfert :

  • Un Mo = 1024 Ko
  • Un Go = 1024 Mo
  • Un To = 1024 Go
  • Un Po = 1024 To
  1. Combien peut-on stocker de films d' 1 h 30 sur un disque d'un To, sachant qu'un film de ce type a une taille approximative de 2.5 Go ?
  2. Sachant que j'ai stocké un de ces films sur mon NAS et que mon réseau interne a un débit de 100 MB/s, quelle sera la durée de transfert du film sur mon PC personnel ? (un octet = 8 bits).
  3. Dans la question précédente, on n'a retenu que la durée du transfert sur le réseau sans tenir compte de la durée de lecture sur le disque NAS et la durée d'écriture sur le HD de mon PC. En admettant que ces 3 durées se cumulent, quelle sera la durée totale du processus Lecture-Transfert-Ecriture ? Les disques dur utilisés ont des vitesses de lecture ou d'écriture avoisinant les 200 Mo/s.

Exemple : Stockage et transfert

Des pièges à éviter

Ecrire une affectation dans le mauvais sens :

Voici des exemples d'affectation erronées :

a + b = somme
3 = x
y - 1 = 8
Elles génèrent des erreurs !

A retenir : l'affectation d'une variable se lit de droite à gauche.

Oublier les parenthèses de la fonction print :

Exemple : Oublier les parenthèses
Vérifiez que ce code génère une erreur.

C'était possible dans la version 2 de Python mais en Python 3, cela génère une erreur !

Ecrire une variable entre guillemets dans la fonction print :

Exemple : Bonjour prenom !
Le code s'exécute mais au lieu d'afficher la valeur de la variable, print affiche le nom de cette variable.



Se tromper dans le quotient de deux entiers. Mélanger / et // :

Le quotient réel de deux entiers est obtenu via le /.

Le quotient entier de deux entiers est obtenu via les //.

Exemple : les deux quotients de deux entiers


Utiliser l'opérateur + entre une variable chaîne et une variable numérique.

Il est interdit de concaténer un string et un nombre, ça génère une erreur.

Exemple : Prix d'un article
Dans cet exemple, on voudrait afficher :
trousse : 2.55
Mais le système dit qu'il ne peut pas concaténer la chaîne "trousse" + ":" avec la variable prix de type float. Essayez...

Bon à savoir


Fixer le nombre de décimales quand on affiche un float :

Il faut utiliser le module decimal. Exécutez le code suivant et visionnez la vidéo si besoin.

Exemple : Arrondir un quotient en fixant le nombre de chiffres après la virgule

  • La comparaison entre les affichages à 4 et 6 chiffres doit vous permettre de comprendre le rôle du paramètre rounding = ROUND_HALF_UP.
  • Si vous voulez en savoir plus sur le module decimal : https://docs.python.org/3/library/decimal.html



Comment afficher des guillemets dans une chaîne de caractères ?

Supposons que vous vouliez afficher :

Il a crié "Attention !" très fort.

Le code suivant va générer une erreur :

Exemple : Affichage raté de guillemets
Quand la fonction print rencontre le guillemet avant le A de Attention, elle considère qu'elle doit terminer l'affichage de la chaîne "Il a crié ".
La fonction print ne comprend pas ce qui vient ensuite.


Pour afficher les guillemets de "Attention", il faut les protéger par un \ :

Exemple : Affichage réussi de guillemets
La présence de l'antislash \ avant le guillemet signifie à print que le caractère qui vient après est protégé. Il doit être affiché comme tel.
Le couple \" est appelé une séquence d'échappement.



Les 3 formes d'une chaîne de caractères :

Pour délimiter une chaîne de caractères, on peut utiliser :

  • les guillemets "
  • les apostrophes '
  • les triples apostrophes '''

Exemple : Les 3 formes des chaînes de caractères


Suivant le contexte, on a parfois intérêt à choisir une forme plutôt qu'une autre.

Un exemple ci-dessous :

Exemple : Exemple de chaîne entre triple apostrophe
Les chaînes entre triple apostrophes acceptent d'afficher des guillemets et des apostrophes ... mais l'antislash doit être protégé.



La fonction type :

La fonction type permet de récupérer le type d'une variable :

Exemple : type permet de récupérer le type d'une variable



Le module random :

On a souvent besoin de générer des nombres aléatoires quand on programme

Le module random est fait pour ça.

Il contient notamment la fonction randint, qui attend 2 paramètres entiers a et b et qui retourne un entier aléatoire compris au sens large entre a et b.

Exemple : Le module random
Faites tourner plusieurs fois ce programme.

Pour en savoir plus sur le module random :

https://docs.python.org/3/library/random.html?highlight=random#module-random



Un complément sur les chaines de caractères :

Pour ceux qui veulent tout de suite en savoir beaucoup plus sur les chaines de caractères, ils peuvent lire ceci.



Bonnes pratiques de codage, PEP :

PEP est un acronyme pour Python Enhancement Proposals, Proposition d'Amélioration Python.
Les PEP sont des proposition d’amélioration du code python qui permettent une meilleure
lecture, compréhension, fonctionnement etc…

Le document ci-dessous a été réalisé par Mathieu BESSON et Yanis KAIDKASBAHde la promo 2016-2017.
Il résumé très brièvement les bonnes pratiques en matière de codage.

PEP et PEP257

Le quiz

Exercice à choix multiple : print
Quelle est la bonne syntaxe pour afficher :
J'adore
Python !
Bien !

Exercice à choix multiple : Typé ou pas ?
Les variables sont typées en Python.
Bien ! Il existe 3 types, int, float, string

Exercice à réponse courte : Affectations en chaine
a=3
b=5
a=b
b=a
print (b)
Qu'est-ce qu'affiche ce code ?
Bien !

Exercice à choix multiple : Vocabulaire
Dans l'instruction
print ("Python, c'est génial")
que représente le mot print ?
Bien !

Exercice à choix multiple : Quotient
Qu'affiche le programme suivant ?
a = 31
b = 3
c = a//b
print (c)
Bien !

Exercice à choix multiple : Bug or not bug ?
Que fait le programme suivant ?
a = 75
b = 105
a + b = somme
print (somme)
Bien !

Exercice à choix multiple : Un calcul
Que vaut l'expression 8/2/2*2  ?
Bien !

Exercice à choix multiple : Une variable en vaut une autre
On dispose de deux variables numériques a et b. On souhaite que la valeur de b soit égale à celle de a. Quelle est la syntaxe correcte ?
Bien !

Exercice à choix multiple : Volume du cube
Qu'est ce qu'affiche le code suivant ?
cote = 4
volume = 4**3
print ("Le volume d'un cube de côté",cote,"m mesure",volume,"m3")
 
Vous avez le choix entre les 4 sorties suivantes :
Sortie 1 :
cote = 4
volume = 64
Le volume d'un cube de côté 4 m mesure 64 m3
Sortie 2 :
Le volume d'un cube de côté 4 m mesure 64 m3
Sortie 3 :
Le volume d'un cube de côté 4 m mesure 12 m3
Sortie 4 :
cote = 4
volume = 12
Le volume d'un cube de côté 4 m mesure 12 m3
Bien !

Exercice à choix multiple : Le reste
Qu'affiche l'instruction suivante ?
print(38%7)
Bien ! 3 est le reste de la division de 38 par 7

Exercice mêlé : TVA en vrac
Ordonnez les lignes de code suivantes pour que s'affiche :
Le prix toutes taxes comprises est 240 €
  • PHT = 200
  • TVA = PHT * 20 / 100
  • PTTC = PHT + TVA
  • print ("Le prix toutes taxes comprises est,PTTC,"€")
Bien !

Questions souvent posées

Y a-t-il des règles à respecter pour les noms des variables ?

Tout à fait !

Il y a des règles obligatoires et des règles d'usage.

Concernant les règles obligatoires :

  • Pas de caractères spéciaux sauf le caractère de soulignement _
  • Uniquement les lettres non accentuées de [ a - z ] ou [ A - Z ].
  • Les noms de variable doivent commencer par une lettre ou par le caractère _

Concernant les règles d'usage :

  • Réservez les majuscules aux noms de classe. Vous verrez cette notion plus tard, donc utilisez les minuscules pour l'instant.
  • Nommage explicite : pour stocker un périmètre, il vaut mieux nommer la variable perim ou perimetre que p.
  • Quand le nom d'une variable doit contenir plusieurs mots, on améliore la lisibilité en intercalant des _ ou des majuscules.
    Exemples : tauxInteret, prix_Vente, poidsCylindrePlein.

Plus généralement, voir dans la Rubrique "Bon à savoir" les recommandations PEP8 et PEP257.



J'ai vu qu'on pouvait multiplier une chaîne par un entier. Comment ça marche ?

En multipliant une chaîne par un entier, on la répète :

Exemple : Répétition
Comme son nom l'indique, multiplier une chaîne S par un entier N produit une chaîne dans laquelle S est répétée N fois.



J'ai téléchargé Geany mais quand j'écris du code, je n'ai pas les couleurs habituelles ?

La coloration syntaxique n'est effective que si le fichier a été enregistré avec la bonne extension. Il faut que le fichier ait l'extension .py



Comment Python sait-il le type qu'il doit donner à une variable ?

En se référant à la valeur que vous lui attribuez :

Exemple : Une personne qui possède un prénom, un âge et une taille (en m)



Je ne connais pas bien la priorité des opérations dans les calculs donc j'utilise souvent les parenthèses. C'est un problème
 ?

Pas du tout. Rien n'empêche d'utilisez les parenthèses pour grouper les calculs :

Exemple : Périmètre d'un rectangle



Je veux afficher des guillemets dans une chaîne entre guillemets. J'ai essayé le code suivant qui donne une erreur, comment faire
 ?

print ("Il a dit "Mets-toi tout de suite au Python !" puis il est parti.")
Pourquoi cette erreur ?

Quand la fonction print rencontre le guillemet avant le M de Mets-toi..., elle considère qu'elle doit terminer l'affichage de la chaîne "Il a dit ". La fonction print ne comprend pas ce qui vient ensuite.

Exemple : Afficher des guillemets
Pour afficher les guillemets de "Mets-toi tout de suite au Python !", il faut les protéger par un \ :
La séquence \" s'appelle une séquence d'échappement.



J'ai bien compris le rôle de la séquence d'échappement \" mais est-ce qu'il y en a d'autres
 ?

Oui, voilà les principales :

  • \' affiche l'apostrophe.
  • \\ affiche un antislash
  • \n provoque un saut de ligne
  • \t provoque une tabulation

Exemple : Séquences d'échappement



Peut-on écrire plusieurs instructions sur une même ligne en Python
 ?

C'est rarement conseillé mais oui, on peut, en les séparant par des ;

a = 3 ; b = 5 # c'est correct !


Peut-on extraire une sous-chaine de caractères d'une chaine de caractères
 ? Par exemple, peut-on récupérer  5 caractères d’une chaine à partir du troisième ?

Oui, les chaines de caractères sont considérées comme des séries de caractères numérotés en partant de 0.

Si S est une chaine de caractères, S[n:p] représente la sous-chaine de S qui débute au caractère numéro n et termine au caractère p-1.

Voilà un lien et quelques exemples pour comprendre :

Exemple : Substring
 

 

Exemples de questions de cours

  • Quelle est la syntaxe de la fonction print ?
  • Qu'est-ce qu'une affectation ?
  • Quels sont les 3 types de variables ?
  • Quelles sont les 7 opérations sur les nombres ?
  • Comment concaténer 2 chaînes de caractères ?
  • Comment répéter une chaîne de caractères ?
  • Qu'est-ce qu'un module en python, comment s'en sert-on ? Donnez au moins trois exemples.

Des exercices pour s'entraîner

Attention, visionnez bien cette vidéo !

Après cette vidéo, vous devez avoir compris que :

  • quand on code sur ce site dans les boites prévues à cet effet comme ci-dessous, on n'écrit pas de message d'invite dans les input parce que le site ne peut pas les interpréter.
    age = int(input()) # pas de message d'invite
  • Quand on rend un livrable au prof ou quand on code pour soi ou son entreprise, on écrit un message d'invite dans les input parce que sinon l'utilisateur ne sait pas ce qu'il a à faire.
    age = int(input("Quel est ton âge ? ")) # L'utilisateur sait qu'il doit entrer son âge.

Exercice de code : Je te dis quel est ton âge

Ecrire un programme qui attend dans cet ordre le millésime de l'année en cours ainsi que l'année de naissance de l'utilisateur et qui lui affiche son âge au format suivant :
Tu as 18 ans
   
Vous pouvez entrer des données pour le programme dans la boîte ci-dessous.

Exercice de code : Carrelage

On veut calculer la surface de carrelage nécessaire pour carreler une pièce rectangulaire.
A cause des découpes, il faut prévoir une surface de carreaux de 10 % supérieure à la surface réelle de la pièce.
Ecrire un programme qui attend dans cet ordre la longueur et la largeur de la pièce (en m sous forme de nombres à virgule) et qui affiche la surface de carrelage nécessaire en tenant compte des 10 % supplémentaires.
Format de l'affichage :
Pour une pièce de 5.23 m sur 4.22 m, vous aurez besoin de 22.0706 m2 de carrelage.
  On ne s'attachera pas au nombre de décimales affichées pour la surface du carrelage.
   
Vous pouvez entrer des données pour le programme dans la boîte ci-dessous.

Exercice de code : Python en étoiles

Ecrire un programme qui affiche le mot PYTHON à l'aide d'étoiles, comme ci-dessous
****  *   *  *****  *   *  *****  *   *
* * * * * * * * * **  *
**** * * ***** * * * * *
* * * * * * * * **
* * * * * ***** * *
   
Vous pouvez entrer des données pour le programme dans la boîte ci-dessous.

Exercice de code : Le motif Python dessiné avec un caractère quelconque

Ecrire un programme qui affiche le motif PYTHON à l'aide d'un caractère quelconque, comme ci-dessous. Dans cet exemple, l'utilisateur a choisi l'arobase (@) comme caractère.
@@@@  @   @  @@@@@  @   @  @@@@@  @   @
@ @ @ @ @ @ @ @ @ @@  @
@@@@ @ @ @@@@@ @ @ @ @ @
@ @ @ @ @ @ @ @ @@
@       @      @    @   @ @@@@@ @ @
   
Vous pouvez entrer des données pour le programme dans la boîte ci-dessous.

Exercice de code : La recette des crêpes

Pour réaliser une pâte à crêpes pour 8 personnes, il faut :
  • 250 g de farine
  • 4 oeufs
  • un demi-litre de lait
  • 1 pincée de sel
  • 50 g de beurre
  • 1 sachet de sucre vanillé (10 g)
  • 1 cuillère à soupe de rhum (5 cl) :

Ecrire un programme qui adapte cette recette à un nombre de personnes quelconque.
Le programme attendra ce nombre de personnes et affichera la liste des ingrédients au format suivant :

Pour 15 personnes il faut :
468 g de farine
7 oeufs
93 cl de lait
1 pincée de sel
93 g de beurre
18 g de sucre vanillé
9 cl de rhum

;-)


 
Vous pouvez entrer des données pour le programme dans la boîte ci-dessous.

Exercice de code : Soldes

Ce sont les soldes !
Ecrire un programme qui attend dans cet ordre le prix d'un article et le pourcentage de réduction puis qui affiche un message à l'acheteur au format suivant :
Pour un article à un prix initial de 176.55 € et soldé à 33 % :
Le montant de la réduction est 58.26 €.
Le prix soldé est 118.29 €.
Le taux de réduction sera entier.
La réduction et le prix final seront calculés au centime inférieur. Par exemple, si le montant exact de la réduction est de 58.2615 €, comme dans le cas ci-dessus, la réduction réelle est de 58.26 €. Comment faire ?
   
Vous pouvez entrer des données pour le programme dans la boîte ci-dessous.

Un résumé produit par des étudiants

Résumé du chapitre 1

Il a été réalisé par Angélique ETIENNE et Vinoth RAMOU, promo 2016-2017

Il est complet et bien structuré.

 

Celle où vous lisez #Effacer ce texte et remplacez-le par votre code
En Python, déclarer une variable, c'est lui donner un nom et une valeur.
Le signe = permet de donner une valeur à une variable. On dit qu'on affecte une valeur à une variable. Par exemple, la variable age reçoit ici la valeur 22.
La commande print contient ici 3 paramètres qui sont "Bonjour", prenom et "!". Ils sont séparés par des virgules.
Dans l'affectation age = 22, c'est la valeur 22 du membre de droite qui passe dans la variable age du membre de gauche.
il est nommé str
integer en abrégé
Pour nombre à virgule flottante.
Si jamais aucune variable ne porte ce nom, on a une erreur de la forme name prenom is not defined
console, navigateur ou Geany
... et non x
Pour qu'une affectation de variable soit correcte, il faut que le membre de droite soit connu. Ainsi, l'affectation b = a - c ne peut être écrite qu'après que a et c aient reçu elles-mêmes des valeurs.
Pour être plus précis, les variables sont stockées dans la RAM de l'ordinateur.
Les variables sont nommées ainsi car au cours du déroulement d'un programme, une variable peut prendre différentes valeurs... Donc elle varie ;-)
il est nommé str
integer en abrégé
Pour nombre à virgule flottante.
Dans l'affectation poids = 172.3 c'est la valeur 172.3 du membre de droite qui passe dans la variable poids du membre de gauche.
Si jamais aucune variable ne porte ce nom, on a une erreur de la forme name prenom is not defined
console, navigateur ou Geany
str, int ou float
La multiplication, c'est * et non pas x
2**4 donne 2*2*2*2 = 16
25/4 donne 6.25
25//4 donne 6
25 % 4 donne 1 (car 25 = 5*4 + 1)
Action de coller des chaînes bout à bout
Le + concatène les chaînes. "Fifi"+"Loulou" donne "FifiLoulou"
Le * répète une chaîne."Fifi" * 3 donne "FifiFifiFifi"
Un module est une sorte de bibliothèque (un regroupement de fonctions prédéfinies) qui une fois importé permet d’accéder à de nouvelles fonctions
square root en anglais, la carrée racine ;-)
On verra dans la leçon 4 la notion de boucle qui permettra d'écrire du code plus léger
Mega octet
Kilo octet
Giga octet
Tera octet
Peta octet
boîtier de stockage en réseau, de l'anglais Network Attached Storage
MegaBit par seconde
Ce qui n'est pas exact car les opérations sont menées en parallèle
Dans l'affectation poids = 172.3 c'est la valeur 172.3 du membre de droite qui passe dans la variable poids du membre de gauche.
Plus précisément, print n'interprète pas ce qui est entre les guillemets. print affiche brutalement le contenu sans se poser de question. print ne sait pas que le programmeur a voulu faire référence à une variable.
randint(10,20) retourne un entier aléatoire compris entre 10 et 20. 10 et 20 compris.
int (7.25) vaut 7
int (58.2615 * 100) / 100 vaut 58.26