Amphi de rattrapage python



Documents pareils
Chapitre 2 Devine mon nombre!

Présentation du langage et premières fonctions

STAGE IREM 0- Premiers pas en Python

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

2 Comment fonctionne un ordinateur, dans les grandes lignes

TP 1. Prise en main du langage Python

Découverte de Python

L informatique en BCPST

Initiation à la programmation en Python

Les bases du langage Python

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Algorithmique et Programmation, IMA

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

INF 321 : mémento de la syntaxe de Java

Cours Informatique Master STEP

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Programmer en JAVA. par Tama

Introduction au langage C

Les classes en Python

1 Lecture de fichiers

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Langage Java. Classe de première SI


Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Recherche dans un tableau

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

ACTIVITÉ DE PROGRAMMATION

Plan du cours. Historique du langage Nouveautés de Java 7

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Programmation C++ (débutant)/instructions for, while et do...while

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Cours d Algorithmique et de Langage C v 3.0

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Corrigé des exercices sur les références

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Solutions du chapitre 4

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Projet de programmation (IK3) : TP n 1 Correction

Notions fondamentales du langage C# Version 1.0

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Initiation à l algorithmique

ALGORITHMIQUE ET PROGRAMMATION En C

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Le prototype de la fonction main()

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Corrigé des TD 1 à 5

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Java Licence Professionnelle CISII,

V- Manipulations de nombres en binaire

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Cours 7 : Utilisation de modules sous python

Gestion du projet pour qu'il soit pérenne et collaboratif

Introduction à JDBC. Accès aux bases de données en Java

Algorithmique et programmation : les bases (VBA) Corrigé

Conventions d écriture et outils de mise au point

Bases Java - Eclipse / Netbeans

Une introduction à Java

Chapitre 10. Les interfaces Comparable et Comparator 1

Introduction à l algorithmique et à la programmation M1102 CM n 3

R, Bonnes pratiques. Christophe Genolini

Tp 1 correction. Structures de données (IF2)

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

SUPPORT DE COURS. Langage C

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo Hello world!

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Cours: Administration d'une Base de Données

Utilisation d objets : String et ArrayList

Cours d algorithmique pour la classe de 2nde

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Les chaînes de caractères

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Représentation d un entier en base b

Java Licence Professionnelle CISII,

Programmation Web. Madalina Croitoru IUT Montpellier

Cours 14 Les fichiers

1 TD 2 : Construction d'une chier Acrobat et envoi par

INITIATION A LA PROGRAMMATION

Calcul Formel et Numérique, Partie I

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No5-1

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Transcription:

Amphi de rattrapage python 20/10/2005 Nom et mail des participants Vincent: vincent.maury@student.ecp.fr ; Marc: gille_marc@hotmail.fr ; M4uD!T : remy.ritchen@student.ecp.fr

Les types de variables Les variables booléennes : Nombres : Listes Dictionnaires Chaînes de caractères Tuples True, False entiers, entiers longs, flottants, complexes L = [12, "a", 19, 0.5] D = {cles:valeur, 'HEC':'ENC..'} Cc = "bonjour" T = ("a", 12, 0.5) >>>L[0] 12 >>>D[cles],D['HEC'] (valeur, 'ENC..') >>>len(d),len(l) (2,4) >>>'HEC' in D True

Opérations sur les nombres Affectation x =12 Incrémentation >>> x=2 >>> x += 1 ou x = x + 1 => x=3 Division >>> 7//3 => 2 (division entière) >>> 7.0/3 => 2,333333333 (il faut un nombre flottant) >>> 7%3 => 1 (modulo = reste de la division entière) >>> divmod(7,3) => (2,1) Puissance >>>10**4 => 10000 La priorité des opérateurs mathématiques est respectée >>>2*3+1 => 7

Les Les chaînes chaînes de de caractères caractères Les chaînes de caractères sont entre ' ' ou " " Retour à la ligne : \n Tabulation : \t Caractère spéciaux :\', \", \\ Insertion d'argument : %s Fonction int() Transforme une chaîne de caractère (ou un nombre) en un nombre entier Exemple : >>> print "Il m'a dit :\n\"bonjour\"" Il m'a dit : "bonjour" >>> m=4 >>> print "Il y a %s erreurs" %m Il y a 4 erreurs Fonction float() Transforme une chaîne de caractère (ou un nombre) en un nombre flottant

Outils pour les listes >>>L >>>L=2*[0] >>>L.append(-2) >>>L.sort() >>>L.reverse() >>>L.insert(1,45) >>>L[0]=6 [0,0] [0,0,-2] [-2,0,0] [0,0,-2] [2,45,0,-2] [6,45,0,-2]

Outils pour les dictionnaires >>>F={'demain':'mercredi'} >>>D={1:'vrai',0:'faux'} >>>del D[1] >>>D.update(F) >>>D.clear() >>>D[1]='vrai' >>>D {1:'vrai',0:'faux'} {0:'faux'} {0:'faux','demain':'mercredi'} {} {1:'vrai'} >>>D.keys() >>>D. values() [1] ['vrai']

Les structures de contrôle (1) Structure condition : if Éléments : if, elif, else Fonction propre : pass Conditions : ==,!=, <, >, <=, >=, is, is not, and, or Attention à la syntaxe!! Attention!! Indentation Exemple : >>>x=0 >>>if x == 0 : print "ce nombre est nul" elif x == 'centrale': pass else: print 'inconnu' Attention!! deux-points Attention!! deux-points ce nombre est nul

'C'est pas fini' Les structures de contrôle (2) Boucle for Éléments : for, range, break, continue range(a,b,c) : de a à (b-1) par pas de c <=> [a,a+c,..b-1] si a > b => [] Attention à la syntaxe!! Exemple : >>>a=0 >>>for i in range(10): a=a+i print a 45 >>>L=[8,5,14,84] >>>for i in L: if i is 5: break else : print "C'est pas fini"

Les structures de contrôle (3) Boucle while Éléments : while, condition, break La boucle s'exécute tant que la condition est remplie Attention aux boucles infinies => plantage assuré Attention à la syntaxe!! Exemple : >>>i=0 >>>while i!=20000: if i > 1000: break else: print i i=i+1 print "fin"

Un exemple de fonction def f(d,f): for k in range(d,f): s=1 for j in range(2,(k/2)+1): if k%j==0: s=j+s if s==k: print k, " " On ne programme pas de cette manière -Illisible -Incompréhensible -Risque d'erreurs important

Un BON exemple de fonction def nombre_parfait(debut,fin): '''''' recherche de nombres parfait arguments: debut borne inférieure fin borne supérieure résultat: liste des nombres parfaits entre début et fin ''''''' DocSrting : documentation du programme for test in range(debut,fin): #On parcourt tous les nombres de l'intervalle somme=1 for diviseur in range(2,(test/2)+1): if test%diviseur==0: somme+=diviseur if somme==test: print test, " " Indentation Deux points Commentaire

Entrées clavier entree=input('votre nom ') L'entrée doit être valide pour Python >>>entree=input('votre nom: ') votre nom: Marc Traceback (most recent call last): input('votre nom') File "<string>", line 0, in? NameError: name 'Marc' is not defined >>>entree=input('votre nom') votre nom 'Marc' entree=raw_input('votre nom ') Transformation de l'entrée en chaîne de caractères automatiquement >>>entree=raw_input('votre nom: ') votre nom: Marc >>>print entree 'Marc' >>>print entree 'Marc'

Gestion des erreurs Erreur: Instruction que python ne peut exécuter ou ne comprend pas. Il existe différents types d'erreur: ArithmeticError TypeError ValueError IOError NameError Structure de contrôle des erreurs : try: Instruction à essayer except (type d'erreur): Instruction E Si ça Loose else: Instruction M Si ça Marche

Gestion des erreurs (exemple) Sans filtrage d'erreur filename = raw_input(''veuillez entrer un nom de fichier: '') f = open(filename,''r'') >>> Veuillez entrer un nom de fichier: exrcices Traceback (most recent call last): File "<pyshell#11>", line 1, in -toplevelopen('exrcices','r') IOError: [Errno 2] No such file or directory: 'exrcices' >>>

Gestion des erreurs (exemple) filename = raw_input(''veuillez entrer un nom de fichier: '') try: f = open(filename,''r'') except IOError: print ''Le fichier '', filename, ''est introuvable'' >>> Veuillez entrer un nom de fichier: exrcices Le fichier exrcices est introuvable Remarque: except seul s'applique à toutes les erreurs

Objets non mutables >>>x=3 x 3 x y >>>y=x 3 3 x y >>>y=4 3 4

Objets mutables >>>L=[0,1,2] L [0,1,2] >>>M=L L M [0,1,2] L M >>>M[1] =0 L M [0,1,2] [0,0,2] 0

Objets mutables (suite) >>>L=[10, "a",5.7] >>>M=L[:] >>>M [10,"a",5.7] >>>M[0]=5 >>>L [10, "a",5.7] >>>M [5, "a",5.7] M=L[:] et M=L donne des résultats très différents Pour faire une copie d'un dictionnaire utiliser: E=D.copy()

Les modules Un module permet de charger des fonctions supplémentaires qui seront utilisées par le programme méthode pour utiliser une fonction issue d'un module: >>>import module >>>module.fonction(arg1,arg2,...) >>>dir(module) è liste des fonctions du module >>>from module import fonction >>>fonction(arg1,arg2,...)

Les modules (exemples) math: sinus, cosinus, tangentes,... os (operating system): gestion des fichiers os.path : opérations diverses sur les chemins d'accès aux fichiers time : datation, défilement du temps, pauses Exemple d'utilisation : >>>import math >>>import os.path >>>math.cos(2) >>> os.path.exists('mercivia') -0.41614683654714241 >>>True

Traitement des fichiers L'essentiel: Fonction open(): Fonction.readline(): fichier = open("accès_fichier", "r") #lecture # "r" peut être remplacé par "w" pour écriture fichier.readline() #lit la première ligne fichier.readline() #lit la ligne suivante Fonction.write(): fichier.write() #écrit pour un fichier ouvert en "w" Fonction file(): Fonction.close(): for ligne in file("accès_fichier", "r") print ligne # imprime les lignes du fichier fichier.close() # ferme l'accès au fichier

Des questions? http://www.via.ecp.fr/formations/themes/index.html N'hésitez pas à consulter l'aide de Python, surtout la librairie des fonctions

Annexe: exemple de fonction pour traiter un fichier def recupere_donnee(): """ cette fonction permet de récupérer les données d'un fichier il n'y a pas d'argument le resultat est une liste: ["ligne1","ligne2",...] sans les sauts de lignes """ adresse = raw_input("indiquez l'adresse du fichier: ") # récupération de l'adresse par le clavier resultat =[] fichier = file(adresse, "r") # on "ouvre" le fichier for ligne in fichier: if ligne[ 1:]=="\n": # boucle de parcours des lignes du fichier # test pour enlever le saut de ligne # \n est considère comme un caractère, ie une chaîne de longueur 1!! resultat += [ligne[: 1]] else: resultat += [ligne] return resultat