26/01/2012: Hiver, es tu là?

Nombre de pages: 80 / 296 (+20)

Choses apprises:

  • La création de modules et de packages
  • Les exceptions
  • Les blocs Try et Except
  • Les mots clés Else et Finally
  • Le module Random
  • Les arrondis de nombre

Mes Impressions: Cette fois ci j’ai vraiment l’impression de rentrer dans de la programmation pure et dure. La mise en packages, leur gestion et leur appel est quelque chose de très intéressant, et permet de se créer peu à peu une base de programmes. La grosse partie du travail de ce mois était également consacrée aux exceptions et à leur gestion. Les exceptions? Vous ne voyez pas de quoi je veux parler? Mais si,  ce que beaucoup appellent « Message d’insulte », qui est renvoyé par un programme lorsque vous n’entrez pas la valeur attendue (ou que vous tapez n’importe quoi pour voir ce qui se passe!). Python permet de tester les exceptions qui sortent et agir en conséquence. Un petit exemple ci-dessous:

try:
resultat = numerateur / denominateur
except NameError:
print(« La variable numerateur ou denominateur n’a pas été définie. »)
except TypeError:
print(« La variable numerateur ou denominateur possède un type incompatible avec la division. »)
except ZeroDivisionError:
print(« La variable denominateur est égale à 0. »)

Comme vous pouvez le voir, on affiche un message précis pour chaque type d’exception qui nous intéresse. Cela permet d’informer l’utilisateur de l’erreur commise, et de corriger si besoin. A cela on peut ajouter les mots clés Else qui permet d’exécuter l’action si aucune erreur ne se produit, et Except pour exécuter une action quoi qu’il arrive.

Tout ceci nous amène donc sur le second TP dont le but est simple: Réaliser un programme permettant de jouer à la roulette! Je me laisse à cette occasion tout le mois pour le créer et l’optimiser. Cet exercice sera également pour moi l’occasion de repasser rapidement sur tout ce que j’ai appris depuis le début de ce cours. Rendez vous donc le mois prochain pour savoir si mon premier programme « conséquent » tient la route…. ou pas!

A venir: Le programme « Tous au Casino » fait par mes soins et la comparaison avec le corrigé. Eh oui, un peu de code au milieu de tout ce blabla ne fera pas de mal. Je suis d’ailleurs toujours à la recherche d’un plugin de coloration syntaxique sous WordPress. Avis aux connaisseurs!

Ce mois ci, j’ai craqué! J’ai acheté le livre issu du tutoriel, qui me permet de m’éloigner un peu du PC pour réviser les choses apprises à tête reposée. Ce paragraphe en italique est amené à disparaître dans le prochaine article, car je le trouve un peu redondant avec la partie « Mes Impressions ». Rassurez vous, il reviendra à chaque fois que le besoin s’en fera sentir!

Sources et liens divers:

Publié dans Programmation Python | Marqué avec , , , , , , , , , , , | Un commentaire

29/12/2011: Python, fonction, chapon, cherchez l’intrus…

Nombre de pages: 60/ 296 (+13)

Choses apprises:

  • Les mots clés Break et Continue
  • La création de fonctions via le mot clé Def
  • L’écriture de paramètres par défaut pour une fonction
  • L’instruction Return
  • La fonction Lambda
  • Les modules, et les méthodes d’import import … as … ou from … import …

Mes Impressions: Ce mois ci, la programmation consistait en la création de divers petits bouts de code qui démontrent l’utilité de tel ou tel mot clé, ou de tel ou tel fonction. Le principe d’utilisation de fonction me parait très important, car il permet d’encapsuler du code ainsi que quelques paramètres par défaut. Voici un exemple de fonction, la fameuse Table_par_7 du cours:

def table_par_7():
nb = 7
i = 0 # Initialisation du compteur
while i<10: # Tant que i est strictement inférieure à 10,
print(i+1 , « * » , nb , « = » , (i+1)*nb)
i += 1 # on incrémente i de 1 à chaque tour de boucle.

A l’appel de cette fonction, l’interpréteur Python déroule la table de multiplication par 7:

>>> table_par_7()
1 * 7 = 7
2 * 7 = 14
3 * 7 = 21
4 * 7 = 28
5 * 7 = 35
6 * 7 = 42
7 * 7 = 49
8 * 7 = 56
9 * 7 = 63
10 * 7 = 70

Il suffit ensuite de faire varier la valeur de la variable nb pour changer de table de multiplication. C’est certes un exemple simple mais on peut encapsuler beaucoup plus de choses si besoin. Une autre notion importante vue ce mois-si est celle de modules. Pour faire simple, un module est un fichier dans lequel on a mis du code. Celui ci est appelé dans l’interpréteur Python par la méthode import ou from.. import. Il peut contenir des fonctions et des variables.

 

A venir: La suite des explications sur les modules, ainsi que les packages. Et, si je suis assez assidu j’arriverai au second TP de ce cours, qui nous emmènera au Casino. Tout un programme.

Ce mois si a été assez peu productif du fait d’une grande séance de tir au flanc d’un planning professionnel particulièrement chargé ainsi que des fêtes de fin d’année. J’utilise toujours Notepad++ pour la rédaction des programmes, IDLE pour l’interpréteur sous Linux et Python Shell pour Windows. Le fait qu’il y ait la coloration syntaxique ainsi que le repliage de code m’aide grandement, notamment pour corriger mes erreurs de frappe ou de syntaxe. Que dire de plus, pas grand chose si ce n’est que l’apprentissage continue, lentement mais surement. Passez tous de bonnes fêtes de fin d’année et rendez vous l’année prochaine pour la suite des aventures!

Sources et liens divers:

Publié dans Programmation Python | Marqué avec , , , , , , , , | 2 commentaires

24/11/2011: To Bissextile or not to be?

Nombre de pages: 47 / 296 (+21)

Choses apprises:

  • L’étude et la conception d’un programme reprenant les bases précédentes.
  • Les tests de multiples par le résultat nul d’une division (Modulo pour les intimes)
  • La fonction Input()
  • Le principe de fonctionnement des boucles
  • La boucle While
  • La boucle For utilisée avec le complément In

Mes Impressions: Je commence enfin à attaquer les choses sérieuses. Nous nous étions quittés sur ce fameux programme de définition d’une année bissextile ou non. Eh bien j’y suis arrivé, notamment avec la syntaxe suivante:

# Année Bissextile

print(« Entrez une année : »)
annee = input()
annee = int(annee)
bissextile = False # Mise à zéro parametre de calcul.
if annee%400==0:
bissextile = True
elif annee%100==0:
bissextile = False
elif annee%4==0:
bissextile = True
else:
bissextile = False
if bissextile==True: # Année bissextile
print(« Année Bissextile »)
else:
print(« Année non bissextile »)

Comme vous pouvez le voir, le programme est assez court. La méthode de détermination d’une année bissextile ou non était précisée dans l’énoncé, je vous rassure tout de suite. Pour les curieux, on  sait qu’une année est bissextile si elle est multiple de 400 mais pas de 100, ou qu’elle est multiple de 4. Eh oui 2012 sera bissextile!

Pour en revenir au programme, l’auteur du tutorial arrive à résumer ce programme en seulement 7 petites lignes! On dirait bien que j’ai encore tout à apprendre niveau optimisation…

A venir: Les mots clés Break et Continue, ainsi que la manipulation un peu plus poussée des fonctions.

Voilà donc pour ce deuxième compte rendu. J’avance petit à petit, malgré le temps qui me manque cruellement. Etant aussi programmeur dans un tout autre domaine, il n’est pas facile de se replonger dans du code une fois la journée de travail écoulée. Mais l’apprentissage du langage Python est intéressant, et je commence à trouver mes marques. J’ai d’ailleurs changé d’outils pour écrire et tester mes programmes. Je suis désormais passé au couple Notepad++ pour l’écriture et IDLE pour l’exécution et le débogage. Mes programmes seront également disponibles d’ici peu. Ce sont ceux du tutoriel, mais je le regroupe séparément histoire de garder une trace de mon entraînement et de ma progression.

Sources et liens divers:

Publié dans Programmation Python | Marqué avec , , , , , , , , | 2 commentaires

27/10/2011: C’est parti !!!!

Et voilà, c’est parti pour un premier compte rendu!

Nombre de pages: 26 / 245 (+26)

Choses apprises:

  • L’origine du Python et ce à quoi ça peut servir (beaucoup de choses en fait!)
  • L’installation et le lancement de l’interpréteur Python, sous Linux ou d’autres systèmes d’exploitation.
  • L’écriture de données dans l’interpréteur et leurs différents types
  • La définition et la manipulation de variables
  • Les délimiteurs ainsi que les fonctions  (Print et Type)
  • Les structures conditionnelles (If, Then, Else, Elif)
  • Les opérateurs de comparaison et quelques mots clés (And, Or et Not)

Mes Impressions: Pour l’instant ce n’est que le début, et ça va pas trop mal. N’étant pas complètement débutant en programmation je connaissais déjà les types de variables, ainsi que les structures « if », « then » et « else ». J’ai d’ailleurs l’impression qu’elles sont communes à pas mal de langages… Je découvre au passage la fonction elif, ainsi que les délimiteurs et indentations propres au langage Python.

A venir: La lecture et les petits tests, c’était bien sympa, mais voilà que se profile à l’horizon mon premier exercice pratique. Je dois donc réfléchir et écrire un programme capable de me dire si une année est bissextile ou non. Il paraît que c’est un bon test pour mettre en application les choses définies un peu plus haut. Y arriverai-je? Ou pas? La suite au prochain épisode!

Comme si un lancement dans la programmation Python ne suffisait pas, je me lance aussi dans l’administration et la gestion d’un blog WordPress. Tout n’est pas parfait, même si j’ai essayé de modifier un peu cette interface qui ressemblait a un vieux document Powerpoint! Je mettrai en ligne également mes bouts de programme à la suite de chaque billet, celui-ci faisant exception.

Si vous avez des remarques ou des suggestions concernant les articles ou le blog en général n’hésitez pas, je suis tout ouïe !!

 

Publié dans Programmation Python | Marqué avec , , , , , , , , , | Un commentaire

Hello World!

Bonjour à tous,

je vous souhaite la bienvenue sur ce nouveau blog! Il sera consacré à mon apprentissage du langage Python, et détaillera les différentes étapes que je vais suivre. Ce blog est également une manière de me pousser un peu et de me motiver, la procrastination et l’oisiveté ayant souvent raison de ma volonté!

Pour cet apprentissage, j’ai donc décidé de suivre le tutorial de Prolixe, sur le site du Zéro. Etant totalement débutant dans le Python, ca tombe plutôt bien!

Je ferai chaque dernier jeudi du mois un compte rendu de mes activités du mois écoulé, avec de temps en temps des bouts de programme mis à disposition pour ceux que ça intéresse.

Merci à tous.



Liens annexes:


Tutorial Python Site du Zero

http://www.siteduzero.com/tutoriel-3-223267-apprendre-python.html

Publié dans Programmation Python | Marqué avec | Un commentaire