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 = "paraboloïde de révolution à une branche"
print(a, type(a))
print(b, type(b))
print(c, type(c))
print(d, type(d))
print(e, type(e))
print(f, type(f))
print(g, type(g))
True <class 'bool'> False <class 'bool'> 3 <class 'int'> 3.0 <class 'float'> 2.72 <class 'float'> hyperbole <class 'str'> paraboloïde de révolution à une branche <class 'str'>
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 = (1/3-5/4)/(2/3+2)-4/5
print(resultat1)
-1.14375
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 = a/b-c
print(resultat2)
-1.14375
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 des variables précédentes
# saisir ici les calculs de Q5 pour vérifier !
a = 5
b = 16
c = 3.14 / 2
d = b / a
e = b // a
f = b % a
g = a + b
h = a
print(a,b,c,d,e,f,g,h)
5 16 1.57 3.2 3 1 21 5
!!! 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 son 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.
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)
perimètre 4 aire 1
!!! 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 :
a,b = b,a
# ou bien :
# aux = a
# a = b
# b = aux
print('a =',a)
print('b =',b)
a = 0 b = 16 a = 16 b = 0
Q9. 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" (lien wikipedia).
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 soleil en km
pi = 3.14159 # nombre pi
bth = r/d
alpha = 2*bth
temps_disparition = 24*3600*alpha/(2*pi)
print(temps_disparition)
128.34265451570704