Atelier PYTHON pratique du vendredi 21 Fevrier 2014 par FX


Exercices d'initiation (avec Python en mode interactif)


  • Ouvrir un terminal et lancer la commande : python
  • En Python les blocs ne sont pas balisés par des accolades mais créés par une indentation (qu'il faut donc soigner).
  • Les commentaires doivent être précédés de #

# Pour commencer évaluons la somme de deux nombres entiers : 2 + 3
2 + 3
# Appuyer sur la touche entrée pour évaluer
# Voici des chaines de caractères :
print "Linux"+'Azur' # les chaînes peuvent être avec des " ou des ' et on peut les concaténer
message="* coin coin *"
# l'affectation en Python est le signe =
print message
print len(message)  # len( ) est une fonction qui retourne la longueur de la chaine
print 3*message
print 3*message+"\n"
# sachant que le retour à la ligne se code \n en Python
# concevoir d'abord un message qui affichera lorsqu'on l'imprime :
*************
* coin coin *
*************
# puis un message qui affichera coin coin bien centré 
# avec 55 * à la première et à la troisième ligne
*******************************************************
*                     coin coin                       *
*******************************************************
# Formatage des chaines 
message="Bonjour %s, tu as gagné %d euros"
print(message % (Prosper,1000))
# Voici des tuples
a = (2,5,7)
b = (5,1,3,8)
print a+b
# Les nombres, les chaines, les tuples sont des types non-modifiables (unmutable types en anglais)
# contrairement aux listes et aux dictionnaires (voir ci dessous)
# Une liste est une donnée de ce type :
simpsons=['homer', 'lisa', 'marge', 'bart']
# Une liste est un type modifiable ( mutable type en anglais) :
simpsons.append('maggie')  # on peut ajouter un (ou plusieurs éléments) à la liste
print simpsons
print simpsons[0]
print simpsons[1;3]
print simpsons[-1]
print simpsons[2:] # sous-liste de l'élément 2 jusqu'à la fin
print simpsons[1:-2]
simpsons.sort() # tri alphabétique avec la méthode sort
print simpsons # affiche la liste triée
fils=simpsons[0] # c'est "bart" après avoir trié par ordre alphabétique
print fils[0] # surprise : une chaîne, c'est une liste de caractères...

Un dictionnaire est une donnée de ce type ( table de hachage ou liste associative)
moi={"nom":"jerome", "date_de_naissance":[4,7,1980], "poissons_rouges":2, 123:"un deux trois"}
Un dictionnaire est un type modifiable ( mutable type en anglais) :
moi["ville"]="plessis" # ajoute la clé ville et sa valeur plessis
print moi.keys()
moi["ville"]="paris" # modifie la valeur de la clé ville
print moi
del moi[123] # supprime la clé 123 (et donc sa valeur)

# instructions de contrôle de flux  (Les structures de contrôle)
# La boucle for 
for nom in simpsons:
  print nom+"   est un simpson"

# if else 
if 5>2: print "5 est plus grand que 2"
else: print "5 est plus petit que 2"

print "la famille simpson comprend:"
for nom in simpsons:
    nom_complet=nom+" simpson"
    print nom_complet

s="abracadabrakangourou"
t=""
while s:
    if s[0]=="k": break
    t=t+s[0]
    s=s[1:]
print s
print t


Les réponses aux exercices (merci Piernov)
message="coin coin"
message_ex1="*"*13+"\n*"+message+"*\n"+"*"*13
message_ex2=55*"*" + "\n" + "*" + ((55-1-len(message))/2)*" " + message + ((55-1-len(message))/2)*" " + "*" + "\n" + 55*"*"
message_ex3=55*"*" + "\n" + "*" + message.center(55-2) + "*" + "\n" + 55*"*"
print message_ex1
print message_ex2
print message_ex3