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