Apprendre à programmer avec Python

Gérard Swinnen est professeur et conseiller pédagogique à l’Institut St-Jean Berchmans à Ste-Marie (Liège)
Voici ce que l’auteur nous dit de Python sur le site Python Blanc Bleu Belge :
Python est un merveilleux langage de programmation. Moderne, portable, puissant, facile à apprendre, il présente en outre l’immense intérêt d’être absolument gratuit !
Estimant que Python constitue à l’heure actuelle le meilleur choix pour commencer un apprentissage de la programmation, nous avons décidé d’apporter notre modeste contribution à la documentation en langue française pour ce langage.
Destinées en premier lieu aux élèves qui suivent le cours "Programmation & langages" de l’option Sciences & Informatique en 5e/6e de l’enseignement technique de transition (enseignement secondaire belge), ces notes vous sont proposées ici en téléchargement gratuit. Leur reproduction et leur distribution restent cependant soumises aux termes de la licence de documentation libre GNU.

Nous pensons à Framasoft que les exceptionnelles qualités didactiques de ce cours en font une excellente porte d’entrée lycéenne pour la programmation en général (voir à ce propos l’introduction du cours que nous n’avons pu résister à vous présenter ici).
Merci la Belgique ;-)

Adaptation libre de :
How to think like a computer scientist
de Allen B. Downey, Jeffrey Elkner & Chris Meyers
disponible sur : http://rocky.wellesley.edu/downrey/ost
ou : http://www.ibiblio.org/obp

En voici l’introduction :

« Les présentes notes ont été rédigées à l’intention des élèves qui suivent le cours Programmation et langages de l’option Sciences & informatique au 3e degré de transition de l’enseignement secondaire belge. Il s’agit d’un texte expérimental et provisoire, qui s’inspire largement de plusieurs documents disponibles sur l’internet.

Nous proposons dans ces notes une démarche d’apprentissage non linéaire qui est très certainement critiquable. Nous sommes conscients qu’elle apparaîtra un peu chaotique aux yeux de certains puristes, mais nous l’avons voulue ainsi parce que nous sommes convaincus qu’il existe de nombreuses manières d’apprendre (pas seulement la programmation, d’ailleurs), et qu’il faut accepter d’emblée ce fait établi que des individus différents n’assimilent pas les mêmes concepts dans le même ordre. Nous avons donc cherché avant tout à susciter l’intérêt et ouvrir un maximum de portes, en nous efforçant tout de même de respecter les principes directeurs suivants :

  • L’apprentissage que nous visons doit être adapté au niveau de compréhension et aux connaissances générales d’un élève moyen. Nous nous refusons d’élaborer un cours qui soit réservé à une "élite" de petits génies.
  • Dans cette option d’études et à ce niveau, l’apprentissage doit rester généraliste : il doit mettre en évidence les invariants de la programmation et de l’informatique, sans se laisser entraîner vers une spécialisation quelconque.
  • Les outils utilisés au cours de l’apprentissage doivent être modernes et performants, mais il faut aussi que l’élève puisse se les procurer en toute légalité à très bas prix pour son usage personnel. Toute notre démarche d’apprentissage repose en effet sur l’idée que l’élève devra très tôt mettre en chantier des réalisations personnelles qu’il pourra développer à sa guise.
  • L’élève qui apprend doit pouvoir rapidement réaliser de petites applications graphiques. Les étudiants auxquels on s’adresse sont en effet fort jeunes (en théorie, ils sont à peine arrivés à l’âge ou l’on commence à pouvoir faire des abstractions). Dans ce cours, nous avons pris le parti d’aborder très tôt la programmation d’une interface graphique, avant même d’avoir présenté l’ensemble des structures de données disponibles, parce que nous observons que les jeunes qui arrivent aujourd’hui dans nos classes "baignent" déjà dans une culture informatique à base de fenêtres et autres objets graphiques interactifs. S’ils choisissent d’apprendre la programmation, ils sont forcément impatients de créer par eux-mêmes des applications (peut-être très simples) où l’aspect graphique est déjà bien présent. Nous avons donc choisi cette approche un peu inhabituelle afin de permettre à nos élèves de se lancer très tôt dans de petits projets personnels attrayants par lesquels ils puissent se sentir valorisés, mais nous leur imposerons cependant de réaliser leurs projets sans faire appel à l’un ou l’autre de ces environnements de programmation sophistiqués qui écrivent automatiquement de nombreuses lignes de code, parce que nous ne voulons pas non plus masquer la complexité sous-jacente.
  • Dans notre démarche, nous souhaitons aussi familiariser les étudiants le plus tôt possible avec le concept informatique d’objet, approché par étapes successives. Nous leur ferons d’abord utiliser en abondance divers types d’objets préexistants (et notamment des objets graphiques), afin qu’ils apprennent à exploiter petit à petit les méthodes et attributs de ces objets. La construction d’objets personnalisés ne sera envisagée que plus tard, et progressivement, lorsque nous serons assurés que les notions de base sont déjà bien en place. »

Commentaires

<< Poster un message >>
:: question :: précision :: avis :: commentaire :: bug ::

Python et Plone , le 3 mars 2008 par mohamed wassadmin (0 rép.)

Je travail sur le CMS freeware Plone/zope qui utilise python comme langage de programmation, et j’espère que ce livre m’aidera.

-----> http://www.islamway.com

Répondre à ce message

Apprendre à programmer avec Python , le 14 janvier 2008 par Kaïkan (1 rép.)

lundi, janvier 14, 2008

Bonjour,

En exécutant sans afficher le signe : " :" j’ai vu sa raison d’être. (Rien dans les explications que j’ai relues 3x depuis la page 1)

J’ai donc mis dans mon cahier :

print c, " : ", b, type(b) # le signe (" :") sépare le nombre des itérations de la variable b

Il est conseillé d’écrire des commentaires pour "mémoire", de plus je n’ai qu’un bac lettre des années 60 (faible comme bagage mathématique...)

Merci pour votre aide & @+

Kaïkan

Apprendre à programmer avec Python , le 14 janvier 2008 par ymai

Bonjour

La notation " :" ne devrait pas être appelée "instruction".

Il s’agit simplement de la notation d’une chaîne de caractères (limitée à un seul chaînon, en l’occurrence). Le signe " :" pourrait, dans le cas d’espèce, être remplacé par n’importe quel autre caractère.

On aurait pu écrire

print c, "@", b, type(b)

ou quoi que ce soit d’autre.

Le " :" n’a vraiment un sens pour l’interpréteur Python que pour marquer la fin de la ligne

while c < 49 :

et annoncer qu’il y a une suite.

Répondre à ce message

Apprendre à programmer avec Python , le 13 janvier 2008 par Kaïkan (2 rép.)

dimanche, 13 janvier, 2008.

Bonjour,

Je suis page 42 (5,1,1), je vois apparaître pour la première fois L’instruction : " :" dans : print c, " : ", b, type(b) Pouvez-vous me donner la signification exacte de ce terme nouveau(pour moi) s’il vous plaît . Merci...

Kaïkan

Apprendre à programmer avec Python , le 13 janvier 2008

RTFM

Apprendre à programmer avec Python , le 8 février 2008 par _Pierre

#Bonjour Kaïkan,

print c, " : ", b, type(b)

#dans cette ligne, les deux points ne sont pas une

#instruction, car ils sont encadrés par des guillemets.

#C’est donc une chaine de caractère que l’auteur cherche

#seulement à afficher à l’écran.

#Supposons que vous vouliez afficher le contenu

#de ces deux variables :

nom="Zidane"

profession="footballeur"

#vous pouvez faire :

print nom, profession

#ce qui donnera comme résultat :

Zidane footballeur

#Maintenant, si vous pouvez mettre un peu de mise en forme,

#pour que ça soit plus agréable à regarder,

#vous pouvez faire :

print "nom :", nom, "profession :", profession

print nom, "==>", profession

print nom, "(", profession, ")"

print nom, " :", profession

#ce qui donne (dans l’odre) :

nom : Zinedine profession : footballeur

Zinedine ==> footballeur

Zinedine ( footballeur )

Zinedine : footballeur

#La dernière ligne étant équivalente à la votre.

Répondre à ce message

Apprendre à programmer avec Python , le 11 janvier 2008 par Kaïkan (3 rép.)

Bonjour, Eureka : >>>a, b = 1, 7 >>>while a<20 : a=a+1 print a*b J’obtiens de 14 à 140 (mais je n’ai pas 7,c’est-à-dire1*7) Il y a donc certainement une solution exacte... Merci de m’aider...

Apprendre à programmer avec Python , le 11 janvier 2008

Bonjour,

Ce qui se produit est logique : la variable a est déclarée comme valant 1... On rentre dans la boucle while et avant d’afficher 7*a, on incrémente déjà a de 1, ce qu’il fait qu’il passe à 2 et on affiche 7*2 = 14... Le 7*1 est passé à la trappe. Normal Correction : déclarer a,b=0,7...

@+

Apprendre à programmer avec Python , le 11 janvier 2008

Ou bien laisser a,b = 1,7 et incrémenter après l’instruction "print"

Apprendre à programmer avec Python , le 11 janvier 2008 par Kaîkan

Bonjour,

Vérif effectuée = OK . Merci profondément !!!

Répondre à ce message

Apprendre à programmer avec Python , le 11 janvier 2008 par Kaïkan (1 rép.)

Bonjour, Je suis page 38 exercices : 4.2 (écrivez un programme qui affiche les 20 premiers termes de la table de multiplication par 7). Est-il possible d’avoir de l’aide ou la solution ? Merci d’avance car je suis un très ancien étudiant...

Apprendre à programmer avec Python , le 11 janvier 2008

p.307

Répondre à ce message

Apprendre à programmer avec Python , le 21 novembre 2007 (1 rép.)

Bonjour,

je commence mes premiers pas avec python. je de developpe dans l’environnement IDLE version 1.2.1.

je voudrais savoir comment faire en sorte que lorsque dans le python shell je tape sur la flèche haute j’aurai la dernière commande exécutée.

Apprendre à programmer avec Python , le 21 novembre 2007 par e-satis

Dans idle le raccourcis clavier pour obtenir l’entrée précédente n’est pas la flèche, mais une combinaison de touche du type ctrl + p. Je ne sais plus laquelle est-ce exactement, mais cela est définissable manuellement dans les options.

Pour retrouver un shell python les repère qu’on avait avec une console linux par exemple, il faut utiliser le shell ipython.

Répondre à ce message

Apprendre à programmer avec Python , le 3 novembre 2007 par cav (0 rép.)

Bonjour,

Merci pour cet excellent tutorial pour apprenrdre python. Je viens de commencer le livre, et je dois dire qu’il est très bien écrit facile à lire. Il ne fait pas mal à la tête, je n’arrive pas à me décoller ca prouve qu’il est vraiment bien écrit :)

J’espère pouvoir très vite évoluer dans ce langage. Merci encore.

Cordialement

Répondre à ce message

Apprendre à programmer avec Python , le 1er juillet 2007 par Steph [étudiant] (0 rép.)

Moi je voulais juste remercier l’auteur pour ce très bon ouvrage qui me permet de faire mes premiers pas en python :)

Répondre à ce message

Apprendre à programmer avec Python , le 7 mai 2007 par Vidac (1 rép.)

Bonjour, j’essaie de faire un site web où j’aimerais utiliser du python (pour remplacer certaines fonctions de php) mais au lieu d’exécuter le script il m’affiche le code mlgré la présence de la ligne : "# ! /usr/bin/python".

Vous pouvez me donner des pistes ou m’indiquer ou est-ce que je peux poser cette question ?

Merci !

Apprendre à programmer avec Python , le 7 mai 2007 par Léviathan

Bonjour,

Afin de pouvoir utiliser Python pour faire un site web, vous devez installer et activer le module python pour Apache, sans quoi vous aurez typiquement ce genre d’erreur.

Si vous êtes chez un hébergeur mutualisé, renseignez vous auprès de celui-ci afin de savoir s’il supporte l’hébergement Python.

Sinon si vous avez un serveur dédié ou si vous testez en local, alors vérifiez l’installation des bons modules pour apache et n’oubliez pas de relancer le serveur apache une fois les modifications effectuées.

Cordialement,
Léviathan

Répondre à ce message

Apprendre à programmer avec Python , le 27 mars 2007 par Juxo (0 rép.)

Je ne suis pas éléve en informatique mais je remercie pour magnifique tutorial qui va pouvoir me permettre de commencer le python.

Répondre à ce message

Apprendre à programmer avec Python , le 11 mars 2007 par thePimp (3 rép.)

Bonjour,

est-ce que quelqu’un peut me conseiller un bon IDE pour programmer avec python : Boa constrictor me semble bien mais je ne suis pas sur. Je voudrais en fait, d’un IDE assez proche de celui de visual basic(pas besoin d’ecrire le code pour les fenetres, etc...)

Merci d’avance

Apprendre à programmer avec Python , le 11 mars 2007

Bonjour,

Personnellement, j’utilise l’IDLE Python (fourni d’office avec l’interpréteur) sous Windows et Scite sous Linux, mais ces éditeurs ne font que de la coloration syntaxique...

Apprendre à programmer avec Python , le 12 mars 2007

J’apprend Python sous système linux et j’utilise DrPython que je trouve très simple.

Sinon il existe aussi SPE et Pype.

Apprendre à programmer avec Python , le 13 mars 2007 par isatis39871

Pour apprendre à programmer le mieux est de rester sur Idle. Ensuite pour une utilisation avancée je recommande chaudemement SPE. Ce dernier comprend un RAD qui permet donc de dessiner les fenêtres facilement sans pondre le code.

Mais d’une manière générale Python n’est pas VBA et il n’y a pas cette facilité incluse pour créer des fenêtres toutes faites. Ce n’est d’ailleurs pas recommandé car il vaut mieux savoir comment ça marche avant d’utiliser des soft qui génères automatiquement du code.

Répondre à ce message

Apprendre à programmer avec Python , le 8 novembre 2006 par JapanGeek (1 rép.)

Que peut-on téellement faire avec Python ?

Apprendre à programmer avec Python , le 9 novembre 2006

Bonjour,

Les possibilités de Python sont assez vastes ; on peut programmer des applications en ligne de commande, des applications graphiques, des jeux (Slune, Balazar...), des utilitaires, des serveurs (Zope) ...

Python est fourni avec de nombreuses librairies qui permettent d’accéder facilement à des fonctions avancées (interfaces graphiques, zip/dézip, lecture multimédia...)

En espérant vous avoir été utile

Répondre à ce message

Apprendre à programmer avec Python , le 6 septembre 2006 par ophelie08k (0 rép.)

voila jai remarqué avoir ce logiciel sur mon ordinateur mai j’ai maleureusement effacer win32ui. donc lorsque je veux ouvrir python il me dise que ce fichier n’exite pas. peut on le télécharger ? merci

-----> win32ui

Répondre à ce message

Apprendre à programmer avec Python , le 26 juillet 2006 par kinkonda garci(etudiant) (1 rép.)

j’ai seulement installer python2.3.4 cela ne posera t-il des problemes pour realiser mes programmes car je n’ ai pas pu installer sciTE,python megawidget, et gradfly.si oui ,donner la maniere de telecharger ces3 logiciels.

-----> eclaicissement

Apprendre à programmer avec Python , le 27 juillet 2006 par isatis39871

j’ai seulement installer python2.3.4 cela ne posera t-il des problemes pour realiser mes programmes

Non, On peut coder avec ça, mais on perd des fonctionalités pratques.

n’ ai pas pu installer sciTE,python megawidget, et gradflyn’ ai pas pu installer sciTE,python megawidget, et gradfly

Pour scite, c’est pas grave, il y a des tas d’IDE très sympas qui t’aide très bien pour le python : boa construtor, spe... Pour pymegawidget, je ne suis pas fan. Quitte a utilise un module graphique qui n’est pas dans l’installation par defaut, autant utiliser wxPython. Pour Gadfly, ’est normal que l’intallation ne marche pas, le module demande une version récente de python. Gadly permet de faire des bases de données, si u nen a pas besoin, tu peux t’en passer...

En revanche, essaye d’écire correctement sil te lait : fautes, poncturation absente, pas de majuscule... Il est difficile de te lire. Enfin tout ce que tu demande peut être trouvé avec Google.

Répondre à ce message

Apprendre à programmer avec Python , le 25 juillet 2006 par kinkoda garci(eyudiant) (2 rép.)

je n’arrive pas a faire le programme de genre >>>a=0 >>>while (a<12) : ... a=a+1

car sur laligne qui suit un message d’ erreur s’ affiche : file"",line2 identationError:expected an idented block >>> que dois je faire alors : est ce parce que je n ’ ai telecharger ,sciTE,PYTHON MEGAWIDGET,et GRADFLY

veuillez me renseigner comment telecharger les 3 logiciels là s.v.p car j’ ai seulement telecharger le python2.4.3

-----> eclaircissement

Apprendre à programmer avec Python , le 25 juillet 2006

Python doit être demande a être écrit de manière très précise sinon ça plante, ceci pour obliger le développeur à écrire un code lisible. Dans ton cas, il manque une identation (généralement un tab ou quatre espace), juste avant le a=a+1.

Au passage, sache qu’il est rarement utile en Python de faire >>>a=0 >>>while (a<12) : ... a=a+1. On aura plutôt tendance à utiliser une boucle for comme for x in (range(0, 12) :

-----> isatis39871

Apprendre à programmer avec Python , le 26 juillet 2006 par kinkonda garci(etudiant)

j’ essayerai de faire ce que vous m’ avez dit mais quant au telechargement des 3 logiciels qu’ en dites-vous(sciTE,python megawidget et gradfly)

-----> eclaircissement

Répondre à ce message

Informations complémentaires

Informations générales

Lire en musique

Vavrek
Un artiste du Libre comme on aimerait en voir plus souvent
Télécharger au format Ogg
Creative Commons BY-SA

Juste une image

i love ny i love ny
Creative Commons BY