Henri H
Petit Biscuit
1. Algorithmique et programmation
2. Variables numériques & Opérations
3. L'entrée des valeurs par l'utilisateur
4. L'affichage à l'écran
5. L'instruction conditionnelle if
6. La boucle bornée for
7. La boucle non bornée while
8. Les Fonctions
9. Les listes et les chaînes
10. Les fichiers
Un algorithme est une suite d’instructions qui s’enchaînent dans un ordre déterminé et qui font intervenir la plupart du temps des variables.
Il peut s’écrire en langage naturel ou en langage informatique.
Programmer un algorithme consiste à l’écrire dans un langage informatique, ici Python, il devient alors un programme
(on parle aussi de script).
Lorsque l’on écrit du code informatique, il est important de le commenter afin de le rendre plus compréhensible pour les autres et pour soi-même. Les commentaires ne sont pas interprétés par Python et commence par un dièse.
# un commentaire en Python
Une variable est comme une petite boite dans laquelle on peut stocker des données, nombre, chaîne de caractères, valeur entrée par l’utilisateur...
A chaque donnée est associé un nom et un type.
Le nom permet de désigner la donnée et le type permet de préciser la nature de cette donnée, ce qui détermine les opérations que l’on peut lui appliquer.
Les variables qui stockent des valeurs numériques sont appelées variables numériques. Pour stocker une valeur dans une variable, on écrit une instruction d’affectation.
nom_de_la_variable = valeur
Affectation en Python :
On affecte la valeur 7,5 à la variable longueur.
longueur = 7.5
Un nom de variable ne doit pas contenir d’espace. Il est composé de lettres, de chiffres (pas en première position) et on utilise le tiret du bas (underscore) pour remplacer les espaces.
>>> a = 22
>>> b = 7
>>> a + b
29
>>> a - b
15
>>> a*b
154
>>> a/b
3.142857142857143
>>> a**4 # puissance entière
234256
>>> from math import sqrt # importe la fonction racine carrée
>>> sqrt(a)
4.69041575982343
>>> a//b # quotient entier
3
>>> a%b # reste de la division euclidienne
1
Opérations avec les variables numériques :
Souvent lors de la conception d’un programme, on écrit des instructions qui invitent l’utilisateur à entrer des données.
Dans l’exemple ci-dessous la fonction input() affiche le message "Entrer le nombre de boules dans l’urne :".
Par défaut cette fonction renvoie une chaîne de caractère (même si l’utilisateur a saisi un nombre entier).
On utilise la fonction int() pour que la valeur affectée à la variable n soit bien un nombre entier.
n = int(input("Entrer le nombre de boules dans l'urne :"))
Dans l’exemple ci-dessous la fonction float() va convertir la valeur saisie par l’utilisateur en un nombre réel.
x = float(input("Entrer l'abscisse du point A :"))
La fonction print() permet d’afficher à l’écran un message ou la valeur stockée dans une variable.
Exemples.
Affichage de la valeur stockée dans une variable :
nombre = 4
print(nombre) # affiche 4
Affichage d’une chaîne de caractères : On utilise indifféremment des guillemets simples ou doubles.
print("nombre") # affiche nombre
print('nombre') # affiche nombre
Le caractère spécial \n correspond à un retour à la ligne :
print("Une liste :\n* item 1\n* item 2") # affiche Une liste:
# * item 1
# * item 2
Affichage d’une chaîne de caractères et de la valeur affectée à une variable :
distance = 8
print('la distance est égale à ', distance)
# affiche la distance est égale à 8
Notion abordée: les variables
On commence avec ce premier exercice, qui consiste à déclarer différents types de variables.
La variable prenom qui doit contenir la chaîne de caractères Pierre.
La variable age qui doit contenir le nombre 20.
La variable majeur qui doit contenir le booléen vrai.
La variable compte_en_banque qui doit contenir le nombre à virgules 20135,384.
La variable amis qui doit contenir une liste contenant les trois chaînes de caractères: Marie, Julien, Adrien.
Correction
prenom = "Pierre"
age = 20
majeur = True
compte_en_banque = 20135.384
amis = ["Marie", "Julien", "Adrien"]
print(prenom)
print(age)
print(majeur)
print(compte_en_banque)
print(amis)
Notion abordée: les variables
Une erreur s'est glissée dans la déclaration de variable suivante, saurez-vous la retrouver ?
site_web = 'Udemy"
print(site_web)
Correction
Pour définir une chaîne de caractères, il faut utiliser le même guillemet en ouverture et en fermeture. On distingue les guillemets simples (') et les guillemets doubles ('')
site_web = "Udemy"
print(site_web)
Notion abordée: les variables
Dans cet exercice, nous allons afficher un nombre à l'intérieur d'une chaîne de caractères.
Python ne permet pas de concaténer une chaîne de caractères avec un nombre, il va donc falloir convertir le nombre en chaîne de caractères.
nombre = 15
print("Le nombre est " + nombre)
Correction
Pour convertir un nombre en chaîne de caractères on utilise la fonction str.
Pour convertir une chaîne de caractères en entier on utilise la fonction int.
Attention : si vous essayez de convertir une chaîne de caractère qui ne contient pas un nombre en entier avec la fonction int, vous aurez une erreur !
nombre = 15
print("Le nombre est " + str(nombre))
Notion abordée: les variables
Pour réussir l'exercice vous devez deviner la valeur que contient la variable a :
a = 3
b = 6
a = b
b = 7
print(a)
Même exercice mais pour a et b (que peut-on déduire?) :
a = 5
b = 7
a = a+b
b = a-b
a = a-b
Correction
Dans le premier cas on a a=6
Dans le deuxième cas on a a=7 et b=5. En fait le code précédent a inversé les valeurs de a et b.
Il existe un autre moyen pour inverser la valeur de deux variables en Python, par exemple à l'aide d'une troisième variable (nommée par exemple c).
Notion abordée: la fonction print
Dans cet exercice, nous allons utiliser le séparateur (+) entre les variables a, b et c qui contiennent respectivement les valeurs 2, 6 et 3.
Votre script doit donc initialiser ces variables et afficher :
2+6+3
Correction
Ici, nous séparons donc les trois variables que nous affichons avec la fonction print, par la chaîne de caractère " + ", ce qui permet d'afficher le résultat suivant : 2 + 6 + 3
a = 2
b = 6
c = 3
print(a, b, c, sep=" + ")
Notion abordée: les variables, print, les calculs et input
Voici une suite d'instructions écrites en français qu'on vous demande de traduire en langage python.
Quelle est la valeur finale affichée pour x=2 ?
Correction
x = int(input('Rentrez la valeur de x : '))
a = 8*x
b = x + 9
c = a + b
print(c)
Notion abordée: les variables, print, les calculs et input
Voici une suite d'instructions écrites en français qu'on vous demande de traduire en langage python.
Quelle est la valeur finale affichée pour N=5 ?
Correction
N = int(input('Rentrez la valeur de N : '))
a = 9*N
b = 6*a
print(b)
Il n’est pas rare d’avoir à écrire dans un algorithme une instruction du type :
si CONDITION alors INSTRUCTION1 sinon INSTRUCTION2
if condition(s):
instruction1(s)
else:
instruction2(s)
Syntaxe en Python :
Pour délimiter les blocs d’instructions Python utilise les : et l’indentation (décalage du retour à la ligne vers la droite).
Les mots clés utilisés sont if, else et elif (contraction de else if).
Exemples :
Dans l’exemple ci-dessous, on teste la condition x > 0.
Si cette condition est vérifiée, le message s’affiche et si ce n’est pas le cas, il ne se passe rien.
x = float(input("Entrer un nombre x :"))
if x > 0:
print(x, " est un nombre strictement positif.")
Dans l’exemple ci-dessous, on teste toujours la condition x > 0. Si cette condition n’est pas vérifiée, le programme affiche à présent le deuxième message
x = float(input("Entrer un nombre x :"))
if x > 0:
print(x, " est un nombre strictement positif.")
else:
print(x, " est un nombre négatif ou nul.")
Ici on teste une deuxième condition x < 0. Si les deux conditions ne sont pas vérifiées, le programme affiche le troisième message:
x = float(input("Entrer un nombre x :"))
if x > 0:
print(x, " est un nombre strictement positif.")
elif x < 0:
print(x, " est un nombre strictement négatif.")
else:
print("x est égal à 0.")
Les conditions x > 0 et x < 0 sont des booléens, si elles sont vérifiées elles renvoient True et dans le cas contraire elles renvoient False.
Opérateurs de comparaison :
2 == 2 # True == est le signe égal en Python
4 != 2 # True != est le signe "est différent de"
4 > 2 # True
4 < 2 # False
4 > 4 # False
4 >= 4 # True
4 <= 2 # False
Opérateurs logiques and et or :
a = True
b = False
a and a # True
a and b # False
b and a # False
b and b # False
a or a # True
a or b # True
b or a # True
b or b # False
Notion abordée: les variables
Dans cet exercice nous allons tester le type d'une variable à l'aide de la fonction type(). Le but est d'afficher un message si notre variable est du type chaîne de caractère. Sinon on affiche qu'elle n'en est pas une.
prenom = "Pierre"
# INSÉRER VOTRE CONDITION ICI.
# Votre condition doit vérifier si la variable prenom est bien une chaîne de caractère.
# Ici c'est le cas, votre condition doit donc être vraie et
# printer la phrase "La variable est une chaîne de caractères".
# Sinon elle doit afficher "La variable n'est pas une chaîne de caractères"
Et si on avait initialisé la variable prenom à 0 ?
Modifier le programme pour tester si une variable est de type entier.
Correction
prenom = "Pierre"
if type(prenom) == str:
print("La variable est une chaîne de caractères")
else:
print("La variable n'est pas une chaîne de caractères")
Notion abordée: les conditions en python
Écrire un programme qui :
pluie=False
seuil=20.0
température=int(input("Saisir une température: "))
if pluie == False and température>x:
print("Allons au parc")
else :
print("Allons au cinéma")
Notion abordée: les conditions en python
Écrivez un programme qui :
Demande à l'utilisateur son prénom et stocke le résultat dans une variable prénom
Demande à l'utilisateur son age et stocke le résultat dans une variable.
Affiche "bonjour" suivi du prénom "vous êtes majeur(e)" si la personne est majeure et "bonjour" suivi du prénom "vous êtes mineur(e)" si la personne est mineure.
Notion abordée: les conditions en python
Un intervalle est défini par deux valeurs X et Y initialisées par l'utilisateur.
Ecrivez un programme qui affiche "la valeur est dans l'intervalle" si une troisième valeur donnée par l'utilisateur est comprise dans l'intervalle.
Notion abordée: les conditions en python
Un rectangle dans le plan est défini par deux valeurs points (X1,Y1) et (X2,Y2) initialisés par l'utilisateur.
Ecrivez un programme qui affiche "le point est dans le rectangle" si le point de coordonnées (X,Y) est inclus dans le rectangle.
Notion abordée: les conditions en python
Écrivez un programme python qui demande à l'utilisateur d'entrer trois variables a, b et c et qui indique si le triangle abc est un triangle rectangle.
Indice: Testez toutes les combinaisons possibles
Correction
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
if a**2+b**2==c**2:
print("Triangle rectangle")
elif a**2+c**2==b**2:
print("Triangle rectangle")
elif b**2+c**2==a**2:
print("Triangle rectangle")
else:
print("Triangle non rectangle")
Lorsque l’on souhaite répéter une ou plusieurs instruction(s) un nombre défini de fois, c’est à dire connu à l’avance, on utilise une boucle for.
for variable in range():
instruction(s)
Syntaxe en Python :
La fonction range() définit le nombre de passages dans la boucle et comme pour une instruction conditionnelle, le bloc d’instruction(s) est délimité par les : et l’indentation.
Soit n, m et k des nombres entiers :
Exemples :
for i in range(3):
print(i) # affiche 0
# 1
# 2
for i in range(21, 25):
print(i) # affiche 21
# 22
# 23
# 24
for i in range(7, 20, 3):
print(i) # affiche 7
# 10
# 13
# 16
# 19
Afficher sur la même ligne dans une boucle :
for i in range(3):
print(i, end=" ") # affiche 0 1 2
for i in range(3):
print(i, end=", ") # affiche 0, 1, 2,
En prenant un pas négatif on peut boucler dans l'autre sens :
for i in range(0, -10, -2):
print(i)
# 0
# -2
# -4
# -6
# -8
for i in range(10, -1, -1):
print(i, end=" ")
# Affiche 10 9 8 7 6 5 4 3 2 1 0
Lorsque l’on souhaite répéter une ou plusieurs instruction(s) un nombre inconnu de fois, on utilise une boucle while. Elle est parcourue tant qu’une condition est vérifiée. Le bloc d’instruction(s) est également délimité par les : et l’indentation.
while condition:
instruction(s)
Syntaxe en Python :
Exemple de boucle while :
i = 0
while i < 10:
print("Je ne bavarde pas en classe")
i += 1
# Affiche:
# Je ne bavarde pas en classe
# Je ne bavarde pas en classe
# Je ne bavarde pas en classe
# Je ne bavarde pas en classe
# Je ne bavarde pas en classe
# Je ne bavarde pas en classe
# Je ne bavarde pas en classe
# Je ne bavarde pas en classe
# Je ne bavarde pas en classe
# Je ne bavarde pas en classe
Attention à la boucle infinie !
i = 11
while i != 10:
print("Je ne bavarde pas en classe")
i += 1 # La valeur n'atteindra jamais 10...
Notion abordée: les boucles
Qu'affiche le programme suivant ?
print("7x1 = ", 7x1)
print("7x2 = ", 7x2)
print("7x3 = ", 7x3)
Correction
j=1
while j<=10:
i=1
while i<=10:
print(j,"*",i,'=',j*i)
i+=1
j+=1
i = 1
while i <= 10:
print("7*",i,"=",7*i)
i +=1
Notion abordée: les boucles
Ecrire un programme qui affiche la somme des entiers de 1 à N, la valeur N étant entrée par l'utilisateur.
Correction
somme = 0
N = int(input("Entrez le nombre final de la somme: "))
for i in range(1, N+1):
somme += i
print("La somme des entiers de 1 à ", N, "est: ", somme)
Notion abordée: les boucles
Écrire une qui demande un entier N et qui renvoie la somme des entiers de 1 à N élevés au cube.
Correction
somme = 0
N = int(input("Entrez le nombre final de la somme: "))
for i in range(1, N+1):
somme += i**3
print("La somme des entiers de 1 à ", N, "est: ", somme)
Les listes sont des tableaux dans lesquels on peut mettre plusieurs valeurs. Les valeurs sont séparées par des virgules. Toutes les valeurs de la liste sont comprises entre un crochet ouvrant et un crochet fermant.
1. Créer une liste vide
liste = []
liste = [1,2,3]
2. Créer une liste avec plusieurs valeurs
On peut ajouter des éléments à la fin de la liste grâce à la fonction append
liste = []
liste.append(1)
liste.append("yes")
print(liste) # Affiche [1, "yes"]
On voit qu'il est possible de mélanger des éléments de types différents. On peut même faire rentrer une liste dans une liste.
3. Afficher les items d'une liste ou d'une chaîne
liste = ["e","p","s"]
print(liste[0]) # Affiche e
chaine = "abc"
print(chaine[0]) # Affiche a
On accède aux sous éléments d'une liste et d'une chaîne de la
même façon. Mais si les listes peuvent être modifiées avec les crochets ([]). Les chaînes ne peuvent pas.
3. Afficher les items d'une liste ou d'une chaîne
On accède aux éléments d'une liste (ou d'une chaine) grâce aux crochets. Les nombres entre les crochets, qui suivent le nom de la liste, expriment l'indice de la valeur à afficher.
liste = ["e","p","s"]
print(liste[2]) # Affiche s
liste[2] = "z" # On change le 3ème élément
print(liste[2]) # Affiche z
chaine = "abc"
print(chaine[2]) # Affiche c
chaine[2] = "z" # ERREUR !! On ne peut pas modifier une chaîne
# avec les crochets
4. Supprimer les éléments d'une liste
liste = ["a","b","c"]
del liste[1] # 2ème élément on compte à partir de 0!
print(liste) # Affiche ['a','c']
On peut supprimer un élément par sa valeur. Pour ça on utilise remove():
liste = ["a","b","c"]
liste.remove("a") # Ne marche que pour le 1er "a"...
print(liste) # Affiche ['b','c']
5. Compter le nombre d'éléments (liste et chaines)
Pour compter le nombre d'éléments d'une liste on utilise la fonction pédefinie len():
liste = [1,2,3,5,10]
print(len(liste)) # Affiche 5
chaine = "Bonjour tout le monde !"
print(len(chaine)) # Affiche 23
6. Manipuler les listes et les chaînes
Voici quelques astuces pour manipuler les listes et les chaînes:
liste = [1, 10, 100, 250, 500]
print( liste[0] ) # Affiche 1
print( liste[-1] ) # Seulement le dernier élément
500
7. Boucler sur les listes
Dans la boucle for... range associée à une liste et utilisée dans l'exemple ci-dessous, la variable i représente les indices de la liste. Chacun des liste[i] représente la valeur stockée pour chacun des indices (on commence à 0) :
liste = [1, 10, 100, 250, 500]
for i in range(len(liste)):
print(i, liste[i], sep=" : ")
# Affiche chaque valeur de la liste accompagnée
# de son indice, séparés par " : "
# 0 : 1
# 1 : 10
# 2 : 100
# 3 : 250
# 4 : 500
8. Deuxième boucle sur les listes
Lorsqu'on veut parcourir une liste (ou une chaîne de caractères) on peut se demander s'il est toujours utile d'accéder à l'indice des éléments...
Si ça n'est pas le cas on peut utiliser la boucle for pour boucler directement sur les valeurs de la liste et pas sur les indices, voici comment faire:
liste = [1, 10, 100, 250, 500]
for v in liste:
print(v, end=" ")
# Pas de recours à range(len(...))
# On affiche directement les valeurs. Pas besoin d'indices !
# 1 10 100 250 500
11. Boucler sur les chaines
Les boucles sur les chaines obéissent au même principe:
chaine = "hello world!"
for lettre in chaine:
print(lettre)
# Affiche chacune des lettres une par une - sans indices
# h
# e
# l
# l
# o
#
# w
# o
# r
# l
# d
# !
Notion abordée: listes
On définit par récurrence la suite suivante:
U0 = 0
U1 = 1
Un+1 = 7*Un + 4*Un-1
Écrire un programme qui:
Notion abordée: les listes, les chaînes
En informatique on peut représenter une chaîne d'ADN par une suite de caractères "A", "T", "G" ou "C" ajoutés les uns aux autres. Si la chaîne est constituée de tout autre élément alors c'est une séquence d'ADN invalide.
Ecrire un programme qui demande à l'utilisateur une chaine et qui:
Notion abordée: les listes, les boucles, les fonctions
On revient aux racines de l'algorithmique avec ces techniques pour retrouver le maximum ou le minimum d'une liste.
Écrire un programme qui affiche le minimum d'une liste définie par vous-même.
Écrire un programme qui affiche le maximum d'une liste définie par vous-même.
Écrire un programme qui renvoie la moyenne des éléments d'une liste qui sont soit multiples de 2 soit multiples de 3.
12. Transformer une liste en string
Pour "casser" une chaîne de caractères, c'est-à-dire pour la transformer en liste, on utilise une fonction prédéfinie:
La fonction split
Cette fonction s'utilise de la manière suivante:
ma_chaine = "Roger:DURAND:Strasbourg"
print(ma_chaine.split(":"))
# Affiche ['Roger', 'DURAND', 'Strasbourg']
ma_chaine2 = "Roger;DUPONT;Bordeaux"
print(ma_chaine2.split(";"))
# Affiche ['Roger', 'DUPOND', 'Bordeaux']
13. Trouver un item dans une liste
Le mot-clé de Python, in est très pratique pour tester si un élément appartient à une liste ou non :
On renvoie True si l'élément est dans la liste, False sinon.
Dans la console python, vous pouvez effectuer les tests suivants (attention ne recopiez pas ">>>" ce marquage est automatique et signifie que vous parlez à la console Python) :
>>> liste = [1,2,3,5,10]
>>> 3 in liste # 3 est-il dans la liste ?
True
>>> 11 in liste # 11 est-il dans la liste ?
False
>>> a = 3
>>> if a in liste:
>>> print(a, "est dans la lsite")
Notion abordée: listes, fonctions et opérateur in
Ecrire un programme qui renvoie la copie d'une liste en ayant supprimé tous ses duplicatas.
La liste est choisie par l'utilisateur.
Par exemple:
Liste = [2,2,2,3,4,5,7,5]
Liste2 = []
A la fin Liste2 aura [2,3,4,7,5]
Notion abordée: listes et chaînes
Un palindrome est un mot qui peut se lire de gauche à droite ou de droite à gauche.
Par exemple anna est un palindrome.
Ecrire un programme qui demande à l'utilisateur d'entrer un mot dans une variable et qui indique si c'est un palindrome ou pas.
De nos jours la plupart des données avec lesquelles nous travaillons sont sous forme de fichiers (textes, documents, mp3, etc...), il est donc important de savoir manipuler ce format.
Les fichiers en Python sont lus lignes par lignes (ou caractères par caractères), en partant du début vers la fin.
De nombreuses techniques de manipulation existent...
1. Fichiers textes: introduction
Un fichier texte est un fichier qui peut être ouvert avec un éditeur de texte (par exemple avec le bloc notes de Windows). Les données stockées dans le fichier sont converties en chaînes de caractères pour être exploitées.
f = open('Chemin_vers_fichier',mode)
Le premier argument est une chaîne de caractères contenant un chemin absolu ou relatif vers le fichier. Le second argument est aussi une chaine de caractères qui indique la manière dont le fichier va être utilisé.
2. Chemin absolu
Quand on décrit une cible (un fichier ou un répertoire) sous la forme d'un chemin absolu, on décrit la suite des répertoires menant au fichier, depuis le répertoire racine. Sous Windows, pour le répertoire racine on partira du nom de volume (C:\,D:\…).
Sous les systèmes Unix, ce sera depuis (/).
Par exemple, sous Windows, si on a un fichier nommé fic.txt, contenu dans un dossier test, lui-même présent sur le disque C:, le chemin absolu menant à notre fichier sera C:\test\fic.txt.
3. Chemin relatif
Quand on décrit la position d'un fichier grâce à un chemin relatif, cela veut dire que l'on tient compte du dossier dans lequel on se trouve actuellement.
Ainsi, si on se trouve dans le dossier C:\test et que l'on souhaite accéder au fichier fic.txt contenu dans ce même dossier, le chemin relatif menant à ce fichier sera tout simplement fic.txt.
Maintenant, si on se trouve dans C:, notre chemin relatif sera test\fic.txt.
4. Ouverture d'un fichier
Tout d'abord il faut ouvrir le fichier en Python. Pour ce faire, on utilise la fonction open. Elle prend deux paramètres:
Les deux paramètres sont sous forme de chaînes de caractères. Voici les principaux modes:
5. Ouverture d'un fichier (2)
Dans l'exemple qui suit, le chemin relatif d'accès au fichier est représenté par le nom du fichier lui-même. On suppose donc qu'il est exactement dans le même dossier que celui où tourne le programme Python:
# Ouverture en lecture
mon_fichier = open("mon_fichier.txt","r")
# Ouverture en écriture
f = open("testFichier.txt","w")
# Ouverture en ajout
file = open("essai.txt","a")
Dans l'exemple ci-dessus: mon_fichier, f et file sont appelés descripteur de fichiers. Ce sont des intermédiaires qui servent à la manipulation du fichier que l'on vient d'ouvrir.
6. Fermeture d'un fichier
Pour fermer un fichier préalablement ouvert avec open, on utilise la fonction close. Attention, la fonction s'applique sur le descripteur de fichier précédemment crée ( séparé par un (.) ).
# Ouverture en lecture
mon_fichier = open("mon_fichier.txt","r")
# Fermeture
mon_fichier.close()
Tout l'intérêt consiste à faire des opérations entre l'ouverture et la fermeture mais vous êtes obligé de fermer le fichier sinon vos modifications ne sont pas prises en compte...
7. Ecriture dans un fichier
Ecrire dans un fichier se fait avec la méthode write appliquée au descripteur de fichier. Il prend en paramètres la chaîne à écrire. La fonction retourne une valeur qui est le nombre de caractères (ou d'octets ajoutés):
f = open("test.txt","w")
f.write("Chaine à ajouter\n")
# Ouvrez le fichier et...
# vous verrez la chaine apparaître
8. Lecture d'un fichier
La lecture se fait toujours à partir de la position courante.
Trois méthodes pour lire dans un fichier:
Si la fin du fichier est atteinte, il n'y a pas d'erreur. La chaine retournée par read et readline sera juste vide. La liste retournée par readlines sera juste vide.
Remarque: La chaine vide est identifiée par "" ou '' en Python et la liste vide par []
9. Exemples de lecture de fichier
On utilise la méthode readline pour lire une ligne du fichier ou pour lire les lignes du fichier une par une:
f = open('testFichier.txt', 'r')
# On lit la première ligne
ligne = f.readline()
# On teste si la fin du fichier est atteinte
while ligne != '':
# On affiche la dernière ligne lue
print(ligne)
# On lit la suivante
ligne = f.readline()
f.close()
10. Exemples de lecture de fichier (2)
On utilise readlines pour stocker toutes les lignes de notre fichier dans un tableau:
f = open('testFichier.txt', 'r')
# Lecture de toutes les lignes du fichier...
# ...et stockage de ces lignes dans un tableau
lignes = f.readlines()
f.close()
# On affiche la quatrième ligne du fichier
print(lignes[3])
10. Exemples de lecture de fichier (3)
On utilise read pour lire le fichier caractères par caractères ou alors pour tout lire d'un coup:
# Exemple 1: Compter le nombre de a dans un fichier
compteur = 0
f = open("test.txt", "r")
caractere = f.read(1) # On lit un caractère
while caractere != '': # Tant qu'on est pas à la fin
if caractere == "a": # Si le caractère c'est a
compteur += 1 # On compte un de plus
caractere = f.read(1) # On lit le suivant
f.close()
print("Le nombre de 'a' dans le fichier est égal à: ", a)
# Exemple 2: Afficher tout le fichier
file = open("newfile.txt", "r")
text = file.read()
print(text)
file.close()
11. Jouons avec les fichiers
Quelques codes pour bien comprendre les manipulations de fichiers:
f = open("fichier.ext", "w") # Ouvre en écriture
f.write("bonjour") # Ecrit bonjour dedans
f.close() # Ferme le fichier
f = open("fichier.ext", "r") # Ouvre en lecture
f.read(3) # Lit les 3 premiers caractères: "bon"
a = f.read(4)
# Lit les 4 caractères suivants "jour"
# ET les stocke dans une variable nommée a
f.close() # Ferme le fichier
print(a) # Affiche le résultat final
# Affiche "jour"
12. Jouons avec les fichiers (2)
Un dernier code pour bien comprendre les manipulations de fichiers:
f = open("test.ext","w")
f.write("une ligne\n") # \n sert à sauter la ligne..
f.write("Une autre ligne\n")
f.write("unE dernière ligne\n")
f.write("en fait non\n")
f.close()
f = open("test.ext", "r+") # Mode lecture/ecriture
f.readline() # On lit toute la ligne
f.read(5) # On lit 5 caractères
f.readline() # On lit le reste de la ligne
a = f.read(3)
# On lit 3 caractères qu'on stocke dans variable a
print(a)
# Affiche... :-) ?
f.close()
By Henri H
Quelques exercices corrigés pour bien comprendre le langage python