Prise en main de python - Site de la PCSI du lycée Paul Eluard

publicité
Année scolaire 2013/2014
PCSI
Informatique: TD1
Prise en main de python
Mettre la clé USB , et allumer l’ordinateur, attendre
1. lancer pyzo: où le trouver
•
•
A l’ouverture de pyzo un guide apparaı̂t qui donne quelques explications sur les tableaux divers, lisez-le
(vous pouvez sélectionner le langage utilisé)
• le shell
• l’éditeur
• fenêtres additives en bas à droite: à l’aide de tools dans la barre de menu, sélectionner la fenêtre
d’aide et la fenêtre source structure, quel est le but des autres possibilités?
Figure 1: écran pyzo au démarrage
Utilisation de l’interpréteur Python C’est la fenêtre qui comporte une invite de commande appelée prompt
sinalée par >>>.
Lorsque la ligne commence par >>>, vous avez la main et vous pouvez taper une commande. et, s’il n’y a pas
d’erreur, python répondra.
Les premières commandes
Dans le tableau ci-dessous, tapez les instructions de la colonne de gauche, et écrivez les résultats obtenus (les
réponses de l’interpréteur) dans la colonne de droite en commentant éventuellement. (essayez de prévoir la
réponse et, si elle est différente, de comprendre pourquoi la réponse qui vous paraı̂t logique n’a pas été celle de
l’ordinateur.
1
Année scolaire 2013/2014
PCSI
Instruction à taper
20 + 3
20/3
20//3
20%3
5.257 ∗ 6.4
3 ∗ ∗7
(3 + 4) ∗ 5
3+4∗5
’bonjour’
“bonjour”
’il fait’+’beau’
’il fait’+’beau’+’chaud’
“bonjour”*5
“bonjour”+“il fait beau” +“et chaud”*3
Informatique: TD1
résultat obtenu + commentaire ou explication
bonjour, il fait beau et chaud
list(range(10))
list(range(2,12,2))
range(2,12,3)
Quelques remarques
• Pour éviter d’avoir à retaper toute une ligne, utilisez la flèche 4 du clavier pour se positionner sur cette
ligne et tapez “Entrée”: la ligne est recopiée après le prompt et vous pouvez la modifier avant de la lancer.
• range(a,b,p) désigne
list(range(a,b,p))
A savoir:
• Opérateurs
• données
Les types de données élémentaires
Pour connaı̂tre le type d’une donnée, on utilise le mot type:
Instruction à taper
type(3)
type(1.5)
type(22/7)
type(3.0)
type(’3’)
type(’3.5’)
type(3+1.5)
type(‘‘bonjour’’)
type(‘‘bonjour, il fait beau’’)
type(math.log(10))
type(range(2;9;3))
type([1.5,2,5])
type([’a’,’bz’,’c’])
type([a,b,c]])
résultat obtenu et commentaire
2
Année scolaire 2013/2014
PCSI
Informatique: TD1
Chaque donnée possède un type
• type entier ou int
• type flottant ou float
• type chaı̂ne de caractères ou string
•
•
On peut parfois transformer le type d’une donnée: par exemple
donnée de départ
3.0
3.5
3
3
‘30
0
3.50
“3.500
“bonjour”
type
Instruction à taper
int(3.0)
int(3.5)
float(3)
str(3)
int(‘3’)
float(‘3.5’)
int(‘‘3.5’’)
int(‘‘bonjour’’)
type du résultat et commentaire
Quels enseignements en tirer
1. On peut changer des entiers en flottants et certains flottants en entiers mais pas tous
2. On peut transformer des entiers et des flottants en chaı̂nes de caractères
3. On peut transformer certaines chaı̂nes de caractères en entiers ou en flottants.
Exercice 1: Et les nombres complexes?
A l’aide de l’aide interactive ou d’internet, trouver comment s’écrivent des nombres complexes en Python.
Calculer (1 + i)2012
3
Année scolaire 2013/2014
PCSI
Informatique: TD1
Quelques lignes de code à taper dans l’interpréteur et à analyse:
x=3
x+=1
x
x=3
7
S=0
for i in range(5):
S+=i
S
P=
for i in range(1,6):
P*=
P
720
Remarquer
• l’opération + = ou ∗ =
• l’emploi de for
– l’usage de :
– l’indentation
4
Année scolaire 2013/2014
PCSI
Informatique: TD1
Gestion des erreurs
Certaines instructions ne sont pas acceptées par l’interpéteur Python et provoquent l’affichage d’un message
d’erreur. Il faut lire absolument tous les messages d’erreur car ils nous apprennent comment fonctionne
le langage et nous aident à corriger nos instructions et nos programmes.
Taper les instructions suivantes, observez les erreurs obtenues, analysez-les et corrigez-les.
Instruction à taper
Erreur obtenue et Correction
20/0
“bonjour00 /3
(3 + 2)) ∗ 5
(3 + 2 ∗ 5
for i in range(10):
T+=i
T
P=1
for i in range(2,3,7):
P*=i
P
a=3
for i in range(2,3,7):
a+=i
A
a=3
for i in range(2,3,7):
a+=i
A
a=3
for i in range(2,3,7)
a+=i
A
Quels enseignements en tirer
1. Le langage Python fait la distinction entre majuscules et minuscules.
2. Boucle for
• les :
• l’indentation
3. les opérations: les opérations +, ∗, ∗∗, /, //, %, n’ont pas le même sens selon les types utilisés ou ne sont
pas possibles avec des variables d’un certain type.
5
Année scolaire 2013/2014
PCSI
Informatique: TD1
Python comme calculatrice
Il existe un grand nombre de fonctions préprogrammées qui sont fournies avec Python, on regroupe dans unmême
module des fonctions qui sont apparentées , ces modules sont appelés bibliothèques.
1. Le module < math >
(a) Méthode 1 On importe toutes les fonctions prédéfinies de ce module
On tape dans l’interpréteur
la commande suivante: from math import *
√
Puis si on veut 2, on tape sqrt(2)
Si on veut ln(2) on tape log10(2)
(b) Méthode 2 On n’a pas besoin de toutes les commandes du module
On tape dans l’interpréteur la commande suivante: import math
l’interpréteur sait
√ qu’il va avoir besoin de ce module
Puis si on veut 2, on tape math.sqrt(2)
Si on veut ln(2) on tape math.log10(2)
Remarque: Si on n’a pas importé le module < math >, la commande math.log10(2)
En se servant de l’aide de python ou d’internet Quelle est la liste des fonctions mathématiques
accessibles à l’aide du module < math >
2. le module < numpy > contient un grand nombre de fonctions mathématiques et de fonctions qui traitent
de vecteurs ou de matrices.
3. le module < matplotlib > qui permet de faire des graphiques.
Exercice 2 calculer sin(π/4),
exp(3) + exp(−3),
arctan(1)
Exercice 3 Indiquer la liste de commandes qui permet de calculer
10000
X
k=1
1. en utilisant une boucle for
2. en utilisant l’opérateur sum (syntaxe dans l’aide)
3. Comparer avec 108
π2
6
6
1
k2
Téléchargement