C'est notre premier notebook. La première partie de ce travail consiste à prendre rapidement en main cette interface. Ensuite on travaillera sur la notion de variable.
Un notebook est une suite de diverses cellules. Celles-ci peuvent contenir soit du texte (par exemple pour écrire les questions), soit du code python. Celui-ci est interactif et modifiable.
Dans la cellule ci-dessous on a saisi un code python valide. Exécuter cette cellule. Pour cela on commence par l'activer en positionnant le curseur à l'intérieur de celle-ci, puis l'exécution se fait au choix en cliquant sur le bouton Exécuter
(en haut dans le menu) ou en appuyant sur les touches CTRL+ENTER
.
# Un code python valide
print("Bonjour")
print("everybody")
# Un autre code python valide
print("Bonjour","everybody")
!!! abstract Remarque
la fonction print
peut recevoir autant d'arguments que l'on veut, on les sépare par des virgules, et ils s'affichent sur la même ligne.
!!!
Dans la cellule suivante, on a cette fois-ci saisi un code python invalide. Exécuter pour voir.
# Code python invalide
print("Tout va bien ?)
En lisant le message d'erreur, corriger la cellule précédente et exécuter à nouveau.
Les rudiments à retenir pour l'instant :
!!! abstract À retenir
Exécuter
ou raccourci clavier CTRL+ENTER
Capytale
en haut dans le menu et en choisissant retour version enseignant
.disquette
en haut à gauche.
!!!Q1. Dans la cellule suivante on a créé plusieurs variables. Vous devez exécuter cette cellule, puis saisirez dans la cellule de code vierge qui la suit, les instructions python print(type(...))
pour chaque variable, afin d'en déterminer leur type. Puis vous complèterez la cellule réponse qui suit.
a = True
b = False
c = 3
d = 3.0
e = 2.72
f = "hyperbole"
g = "parabolïde de révolution à une branche"
print(a, type(a))
# à compléter
Réponses : les types des variables précédentes sont
Q2. Dans la cellule de code ci-dessous, créer une variable resultat1
en lui affectant le résultat du calcul suivant, puis faire afficher son contenu avec la fonction print(resultat1)
:
resultat1 = # à compléter
print(resultat1)
Q3. On définit ci-dessous trois variables. Utiliser ces trois variables pour créer une variable resultat2
qui contiendra le résultat du calcul précédent et faire afficher son contenu pour comparer à resultat1
.
a = 1/3-5/4
b = 2/3+2
c = 4/5
resultat2 = # à compléter
print(resultat2)
Q5. On donne les calculs suivants. Déterminer d'abord sans ordinateur le contenu de chacune des variables à la fin de l'exécution, puis vérifier avec l'ordinateur.
a = 5
b = 16
c = 3.14 / 2
d = b / a
e = b // a
f = b % a
g = a + b
h = a
Réponses : valeurs approchées des variables précédentes
# saisir ici les calculs de Q5 pour vérifier !
!!! warning Attention : les variables ne sont pas liées par exemple, si l'on saisit :
a = 1
b = a + 1
# b vaut 2 à ce stade
a = 5
# b n'a pas changé et vaut toujours 2
!!!
Q6. On considère un carré dont la longueur du côté est stockée dans la variable cote
. On veut calculer sont périmètre et son aire grâce au code suivant :
cote = 1 # longueur du côté du carré
perimetre = 4*cote # périmètre du carré
aire = cote*cote # aire du carré
cote = 2
print('perimètre', perimetre)
print("aire", aire)
Sans taper de code, dire combien valent les variables perimetre
et aire
à la fin du code ci-dessus ?
Réponses :
Q7. Insérer une cellule ci-dessous, puis recopier (sans faire de copier/coller) le code de Q6 et l'exécuter pour vérifier.
!!! abstract À noter
Dans la fonction print
, lorsqu'un mot est entouré de « quotes » (sous la touche 4) ou de « guillemets » (sous la touche 3), le mot est écrit tel quel, s'il n'y en a pas, le mot doit représenter une variable, et c'est alors son contenu qui est affiché.
!!!
Q8. Dans la cellule de code ci-dessous, on définit deux variables a
et b
. On a utilisé une technique qui permet d'obtenir des valeurs aléatoires. Pour l'instant on ne cherche pas à comprendre cela, on le verra en détail prochainement :
Écrire un code qui intervertit les contenus respectifs de ces deux variables.
# les trois lignes suivantes affectent deux valeurs aléatoires aux variables a et b
from random import randint
a = randint(0,9)
b = randint(10,19)
print('a =',a)
print('b =',b)
# code pour intervertir les contenus de a et b :
# ... à compléter
print('a =',a)
print('b =',b)
À la place des nombres, les variables peuvent aussi contenir des suites de caractères que l'on appelle chaîne de caractères.
ma_chaine = "Bonjour le monde !"
Le contenu de la variable ma_chaine
est de type string et donc un type(ma_chaine)
donnera un str
(abréviation de string en Python).
À noter que la chaîne de caratcère est délimtée au choix par des guillemets ("...") ou des apostrophes ('...')
Q9. En utilisant judicieusement les guillemets et les apostrophes écrire un programme python qui affiche les messages:
Connaissez-vous le mot "cadonner" ?
L'informatique c'est amusant !
Plus décilat (chercher de l'aide sur le net ;-) ) comment afficher :
Savez-vous ce qu'est "l'astragale" ?
# à compléter
L'utilisation du signe + ne se limite pas à l'addition. Il est aussi utilisé pour la concaténation.
D'après Wikipédia :
« Le terme concaténation (substantif féminin), du latin cum («avec») et catena(«chaîne, liaison»), désigne l'action de mettre bout à bout au moins deux chaînes. »
Si on considère le programme suivant :
a = "Hello"
b = "World"
mon_expression = a + b
Q10. Créer deux variables, nommées nom
et prenom
contenant respectivement votre nom et votre prénom et créer ensuite une variable nommée etudiant
qui contiendra la concaténation de votre prénom et de votre nom (attention de ne pas oublier l'espace), puis afficher son contenu avec la fonction print
# code de la Q9 à compléter
Q11. On définit deux variables n
et ch
n = 5
ch = 'tic tac '
Essayer d'effecuter n*ch
et n+ch
pour voir ce qu'il se passe.
# code pour la Q10 à compléter
Normalement vous devriez obtenir une erreur en tapant n+ch
.
En effet ch
est de type str
alors que n
est de type int
. Le signe +
représente-t-il une addition ou une concaténation ? Ni l'un, ni l'autre ! Python vous renverra une erreur car il ne peut pas concaténer un entier et une chaîne de caractère.
La solution : transformer le nombre entier contenu dans n
en une chaîne de caractère : cela se fait à l'aide de la fonction str(...)
:
!!! note Méthode : transformer un nombre en chaîne Pour transformer une variable de type numérique en chaîne de caractère :
ch = 'nombre de pommes :'
n = 10
resulat = ch + str(n)
la variable resultat
contiendra bien la chaîne nombre de pommes : 10
!!!
!!! warning Ressources supplémentaires Q12. Pour avoir plus de détails sur les variables, on pourra consulter avantageusement les pages consacrées à celles-ci sur le site W3 school. !!!
Q13. Lors d'une belle soirée d'été, Alice contemple un joli coucher de soleil. Alors que celui-ci arbore une superbe couleur rouge, celui-ci arrive dans une position tangente avec l'horizon. Elle se pose alors la question de savoir combien de temps reste-t-il avant que le soleil ne disparaisse totalement sous l'horizon en croisant les doigts pour voir se fameux mais hypothétique "rayon vert".
Le point T représente la position d'Alice sur la Terre, et le segment [BC] représente la soleil vu en coupe.
On connait les valeurs suivantes :
Voici quelques lignes directrices :
On donne dans la cellule ci-dessous quelques variables, à vous de compléter le code pour créer la variable temps_disparition
qui contiendra la valeur qui répond à l'interropgation d'Alice !
d = 150*10**6 # distance terre-soleil en km
r = 700*10**3 # rayon du sooliel en km
pi = 3.14159 # nombre pi
bth = # à compléter
alpha = # à compléter
temps_disparition = # à compléter
print(temps_disparition)