LangageEntreesSorties

[wiki: Entrées-sorties] [#license ©]

PageOutline

Formatage des affichages

  • La méthode str.format() permet de construire une chaîne de caractères complexe à partir d’une chaîne format et d’une collection de valeurs données en arguments.
  • Le format comprend des emplacements ou substituer les valeurs, délimités par des {...:...} .
  • A gauche du :, on ne met rien si on veut prendre les valeurs une par une, des numéros si on veut répéter ou inverser l’ordre de certaines valeurs, et des noms si les arguments sont nommés.
  • A droite du :, on donne un ensemble de caractères décrivant le format d’affichage de la valeur, à la façon de la fonction printf() du langage C.
>>> "Entiers : {:04d} {:o} {:X}".format(-2,8,15)
'Entiers : -002 10 F'


>>> "Flottants : {1:-E} {0:+2.3f} {1:-E}".format(4.5,0.000006)
'Flottants : 6.000000E-06 +4.500 6.000000E-06'

>>> "Avec noms : {ch:s} {val:d} {ch:s}".format(ch='texte',val=10)
'Avec noms : texte 10 texte'


Affichage et saisies

  • Instruction print
>>> titre = 'exemple'
>>> ligne = '='*len(titre)
>>> print(titre,ligne,sep='\n')
exemple


=

>>> print('This','is','an','exemple')
This is an exemple

>>> print('This','is','an','exemple',sep='-')
This-is-an-exemple

>>> print('1',end=) ; print('2',end=) ; print('3',end='') ;
123


  • Fonction input()
>>> res = input('texte : ')
texte : 3*2
>>> res
3*2
  • Avec eval()
>>> res = eval(input('expression : '))
expression : 3*2
>>> res
6

Fichiers

  • On ouvre un fichier par open(‘filename’, ‘mode’) et on le ferme par close(). Modes : ‘r’, ‘w’ et ‘a’. Quelques méthodes :
  • read() : lit tout le fichier dans une chaîne de caractères.
  • readline() lit une seule ligne.
  • readlines() lit tout le fichier dans une liste de chaînes.
  • write(‘string’) : écrit la chaine dans le fichier.
  • writelines(sequence) : écrit la séquence dans le fichier, en mettant bout à bout les éléments.
  • write.py :
#!python
noms = ['Yves', 'Jean', 'Dupont']
fichier = open('lesnoms.txt', 'w')
for nom in noms:
  fichier.write(nom+ '\n')
fichier.close()
  • read.py :
#!python
fichier = open('lesnoms.txt', 'r')
for ligne in fichier.readlines():
  print(ligne)
fichier.close()
#!comment


  • Pour le mode d'ouverture, on peut ajouter un '+' pour autoriser lecture et écriture, et un 'b' pour rpéciser que le fichier est binaire.
  • Rien ne sera écrit dans le fichier avant l’appel de la méthode close().

Exercices

1. Écrivez un programme qui demande son nom à l’utilisateur, et qui l’affiche ensuite à l’écran avec un message d’accueil.
1. Écrire un programme qui demande deux nombres à l’utilisateur, et qui affiche ensuite la somme, la différence et la multiplication de ces deux nombres.
1. Améliorez le programme précédent en ajoutant la division. Faites attention à prendre en compte le cas où le deuxième nombre est nul.
1. Écrire un programme qui récupère une liste de noms dans un fichier (un nom par ligne) et qui les trie par ordre alphabétique.

Références

© David Chamont, Laboratoire Leprince-Ringuet (LLR) / IN2P3 / CNRS, Ecole polytechnique / Université Paris-Saclaybr
© Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution – Partage dans les Mêmes Conditions 4.0 International [=#license]


Attachments