La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Compléments sur Python (EduPython)

Présentations similaires


Présentation au sujet: "Compléments sur Python (EduPython)"— Transcription de la présentation:

1 Compléments sur Python (EduPython)
Formation Lycée Juillet 2018

2 Pourquoi le choix de Python
Le choix d’un langage textuel, comme Python, au lieu d’un langage par blocs, comme Scratch, permet aux élèves de se confronter à la précision et la rigidité d’une syntaxe proche de celle des expressions mathématiques, avec l’avantage de pouvoir bénéficier du contrôle apporté par l’analyseur syntaxique. (Document ressources pour le lycée)

3 Bibliothèque « lycee » d’EduPython
Lien vers le fichier Lycee.py 67 fonctions sont définies Quelques exemples : Est chargé par la commande from lycee import * def pgcd(a,b): Renvoie le Plus Grand Diviseur Commun des 2 nombres def puissance(a,n): Cette fonction renvoie le résultat de a^n def reste(a,b): Cette fonction renvoie le reste de la division de a par b def quotient(a,b): Cette fonction renvoie le quotient de la division de a par b

4 Bibliothèques « math » et « cmath »
Il suffit d’importer au début de votre programme ce module par l’une des instructions d’importation : import math : nécessite alors d’appeler la fonction par math.sqrt(2) par exemple pour la racine carrée de 2. from math import sqrt : permet d’appeler la fonction directement par sqrt(2) par exemple pour la racine carrée de 2. from math import * : permet d’importer directement toutes les fonctions du module math, il n’est alors plus nécessaire de les précéder de math.

5 Quelques fonctions pour les statistiques
L=[random.randint(1,50) for i in range(100)] Python propose une syntaxe utile pour la création de liste en compréhension.

6 Quelques fonctions pour les statistiques
L=[random.randint(1,50) for i in range(100)]

7 Précision de Python ! Si vous tapez print (3 − 2.99 − 0.01), vous obtiendrez le résultat − e − 16 ce qui peut poser problème... Cela vient de la représentation des nombres dans la machine : la représentation des nombres décimaux se fait selon la norme IEEE 754 et on obtient la même erreur avec beaucoup de logiciels (Excel, OpenOffice, XCas, ...). En fait pour nous le nombre 2,99 est un nombre "simple" dans son écriture décimale, mais pour un ordinateur qui pense en base 2, c’est beaucoup plus difficile ! Plus d’information sur la documentation officielle de Python

8 A propos de la représentation des nombres dans Python
Donc 0.1 n’est pas 0.1 mais Cela vient du fait du stockage des flottants en binaire.

9 Les nombres à virgule flottante sont représentés, au niveau matériel, en fractions de nombres binaires (base 2). Par exemple, la fraction décimale : 0,125 = 1/10 +1/100+5/1000 Et, de la même manière, la fraction binaire : 0.001=0/2+0/4+0/8 Ces deux fractions ont une valeur identique, la seule différence est que la première est une fraction décimale, la seconde est une fraction binaire. Malheureusement, la plupart des fractions décimales ne peuvent pas avoir de représentation exacte en fractions binaires. Par conséquent, en général, les nombres à virgule flottante que vous donnez sont seulement approximés en fractions binaires pour être stockés dans la machine. Python à 53 décimales binaires ( les 53 bits de mantisse en flottant-64 bits.)

10 Problème d’arrondi Pour calculer en binaire 1/10, il faut donc faire 1/1010. On trouve : N = ….(périodique) 0.1 est donc stocké sous la forme de N « coupé »  à 53 décimales >>> ( ==0.2) True >>> ( ==0.3) False

11 Problème d’arrondi


Télécharger ppt "Compléments sur Python (EduPython)"

Présentations similaires


Annonces Google