samedi 26 décembre 2009

Cinq exercices sur les tableaux

Bonsoir, après une certaine période d'absence, je reviens poster ici pas moins de cinq exercices d'un coup, tous concernant les tableaux en Python.
Je refais un post regroupant plusieurs exercices d'un coup comme le précédent car faire plusieurs billets serait un peu faire du remplissage de blog superflu (et on ne s'y retrouverais plus à la fin). De plus, je n'ai rien de spécial à dire sur ces exercices donc il aurait été inutile de les poster chacun à part, les uns après les autres (quoique, si cela aurait pu me permettre de poster des billets plus régulièrement..? A voir...).
Bref, entrons dans le vif du sujet !

Exercice 1 : Il s'agissait en gros de fusionner deux tableaux, l'un avec les mois de l'année, l'autre avec le nombre de jours correspondant à chaque mois.
Lien vers le code : ici

Exercice 2 : Il s'agissait d'afficher les éléments du tableau sans les guillemets entre chaque éléments.Lien vers le code : ici

Exercice 3 : Il s'agissait simplement d'afficher le plus grand élément de la liste.Lien vers le code : ici

Exercice 4 : Il fallait, à partir d'une liste de nombres, en créer deux autres ; l'une contenant les chiffres pairs, l'autre les chiffres impairs.Lien vers le code : ici

Exercice 5 : Le petit dernier. Il fallait, à partir d'une liste contenant des prénoms, en créer deux autres ; l'une avec les prénoms de moins de six caractères, l'autre avec les prénoms comportant six caractères ou plus.Lien vers le code : ici

Voila, c'est tout pour le moment ! Le prochain billet devrait paraitre assez vite, car il y aura seulement deux petits exercices dedans.
(et surtout, n'hésiter pas à commenter les articles, ça motive de se savoir lu :-° )

Sur ce, bonne soirée et joyeuses fêtes !

dimanche 29 novembre 2009

Pleins d'exercices sur les chaines !

Bonjour, me voici de retour avec pas moins de 5 exercices sur les chaines de caractères en Python !
Comme il y en a beaucoup, et qu'ils se ressemblent tous un peu, j'ai décidé de ne faire qu'un article les regroupant tous !
(A noter qu'il n'y aura que quatre screenshots et quatre liens vers du code car j'ai fusionné deux exercices !)
J'avoue avoir eu un peu de mal au début, car j'avais des erreurs de type "overflow" à cause de mes affectations de compteurs. J'incrémentais/décrémentais mal ceux-ci ; donc je me retrouvais par exemple à 'chaine[n]', où 'n = 6' alors que la chaine ne mesure que 'chaine[5]'. Cela car j'incrémentais ma variable de comptage au début de la boucle au lieu d'à la fin. Cette difficulté m'est apparue dans l'exercice "Gaston", et j'ai quand même mit un petit peu de temps avant de comprendre d'où ça venait, c'est bête.
Petite information aussi, j'ai décidé de prendre Eclipse, avec l'extension PyDev, car je trouve que c'est plus pratique pour accéder rapidement aux différents codes, et c'est assez performant.
Voici à quoi ressemble Eclipse pour ceux qui ne connaissent pas :
(Vous pouvez constater qu'avoir tous les scripts à portée de main est quand même bien pratique ! Car avec IDLE, il fallait à chaque fois ouvrir le script que l'on voulait après avoir ouvert le dossier où il est, une joyeuse perte de temps pour moi !)

De plus, les screenshots de cet article sont les premiers prit depuis Linux !
Trêve de bavardages, entrons dans le vif du sujet !

Exercice 1 et 2 : Voici les exercices que j'ai fusionné ! Le premier consiste à vérifier si le caractère 'e' est présent dans une chaine, le second doit compter le nombre d'occurrences de celui-ci. Il était donc plus pratique d'en faire un seul qui fait tout.Lien vers le code : ici

Exercice 3 : Gaston ! Voila l'exercice qui m'a donné du fil à retordre au début à cause des dépassements de taille de chaine ! Mais bon, c'est en faisant des erreurs qu'on apprend ;).
Lien vers le code : ici

Exercice 4 : Je l'ai trouvé facile, il suffisait d'inverser une chaine de caractère.
Lien vers le code : ici

Exercice 5 : J'aurais aussi pu le fusionner avec le 4, car c'est la même chose, avec quelques lignes en plus, mais bon.
Lien vers le code : ici

Voila, c'est tout pour l'instant, j'espère que vous appréciez mes billets, même s'ils ne sont pas quotidiens !
La prochaine fois ça sera les listes.

(Les petits malins auront peut-être remarqué sur le premier screenshot que j'ai déjà fait les exercices ;) (mais je les posterais plus tard par manque de temps...)).

dimanche 15 novembre 2009

Résultats du sondage !

Bonjour, je poste aujourd'hui les résultats du sondage lancé à la création du blog.
La question de celui-ci était : "Quel(s) langage(s) pratiquez-vous principalement ?" (Chaque personne pouvait donc faire plusieurs choix.)

Le nombre de votant a été de 35, ce qui est un nombre certes pas énorme, mais honorable étant donné que le blog n'est pas encore connu !
Voici les résultats par ordre décroissant :

Python : 15 votes (42%) ; (Python serait-il la réponse à tout ?)
C : 13 votes (37%) ; (1337, hasard ?!)
HTML/xHTML : 12 votes (34%) ;
Caml/Ocaml : 10 votes (28%) ;
CSS à égalité avec PHP : 9 votes (25% chacun) ;
Un autre langage que ceux proposés : 8 votes (22%) ;
C++ à égalité avec Haskell : 7 votes (20% chacun) ;
SQL : 4 votes (11%) ;
Perl à égalité avec Ruby : 3 votes (8% chacun) ;
Javascript : 2 votes (5%) ;
C# à égalité avec Java à égalité avec VB : 1 vote (2% chacun) ;
Lua à égalité avec Pascal à égalité avec ActionScript : 0 vote (0%).

Bilan :
18 langages proposés (sans compter la catégorie "Autre(s) langage(s)") ;
35 votants ;
105 votes (comme on pouvait choisir plusieurs langages !) ;
Une moyenne de 3 langages pratiqués par votant !
Une victoire pour Python, ce qui est peu étonnant, étant donné que le sujet de ce blog est ... Python !
Une deuxième place pour C, ce qui est aussi peu étonnant vu la notoriété de ce langage.
Une troisième place pour HTML/xHTML, ce qui prouve que les développeurs web sont bien présents !
Une bonne place pour Caml/Ocaml : 4ième !
Une surprise : C++ aussi pratiqué que Haskell ! (7ième place !)
Et des places un peu étonnantes pour Java, VB et C#, qui n'ont reçu qu'un vote chacun et finissent à l'avant dernière place, devant Lua, Pascal et ActionScript qui terminent avec 0 vote.
Une dernière statistique : 8 votes pour "Autre(s) Langage(s)" ! Merci de préciser pour ceux qui le veulent quel(s) est/sont cet/ces autre(s) langage(s) !
Et n'oubliez pas qu'il n'y a eu que 35 votants, donc les résultats sont très relatifs !

Et voici maintenant l'heure du sondage suivant : "Quel OS est votre préféré ?"
J'espère que vous serez un peu plus nombreux à voter ;) !

lundi 2 novembre 2009

Convertisseur de chiffres arabes en chiffres romains

Hier, sur les forums du Site du Zéro, quelqu'un demandait de l'aide pour faire un convertisseur Chiffres arabes <-> Chiffres romains.
J'ai donc décidé de m'atteler à ce problème, mais en faisant uniquement la partie Chiffres arabes -> Chiffres romains pour le moment, car je ne suis pas encore assez loin dans le tutoriel Python pour faire l'autre partie.
Après un temps de codage durant lequel j'ai fait n'importe quoi (pleins de boucles imbriquées, avec des conditions dedans), je me suis rendu compte que la solution est en fait toute simple, il suffit de faire des boucles, pleins de boucles !
Dans mon code 'trop compliqué', j'avais tout simplement oublié d'associer les valeurs romaines spéciales : 4, 9, 40, 90 à une variable, je faisais donc des tests pour voir si l'on rencontrait un 4, un 9, etc... C'est certainement incompréhensible comme explication, mais ça reflète bien la complexité inutile du code qui avait été produit !
Je me permet de citer ma réponse du SdZ pour ne pas tout ré-écrire :
"Je fais donc des boucles pour savoir combien de fois inclure chaque terme romain. Je vérifie que le chiffre arabe moins le terme fait un total supérieur ou égal à 0. Si un terme est inclut une fois, je soustrais sa valeur au nombre arabe. Ensuite, quand le nombre arabe moins le terme romain donne un résultat inférieur à 0, je passe à la boucle suivante."
C'est toujours très mal expliqué je suppose, je vais donc poster le code, ça sera sûrement plus lisible !Lien vers le code : ici

P.S : La discussion sur le forum évolue, et on peut voir des codes magnifiquement synthétisés par rapport au mien. Je ne les comprends pas encore car je n'en suis pas à leur niveau, mais ça ne saurais tarder !

Un triangle d'étoiles

Me revoilà avec encore un nouveau code, un Triangle d'étoiles.
Le but de ce programme est de créer des colonnes d'étoiles, qui correspondent au nombre de lignes ; ainsi, nous aurons 1 étoile sur la ligne 1, 2 sur la ligne 2, etc...
Je n'ai pas eu trop de difficultés à réaliser ce programme étant donné que j'avais réalisé l'équivalent en C il y a quelques temps sur France-IOI (dommage qu'il n'y ait pas Python de proposé dans le test de codes !)
Lien vers le code : ici

P.S : Certains l'auront peut-être remarqué, j'ai omis d'enlever les parenthèses dans les boucles du code, ça n'est pas fais exprès, je ne m'en suis rendu compte qu'après avoir posté.

Convertisseur de secondes

Bonjour, je poste aujourd'hui un petit code, qui m'a quand même donné du fil à retordre.
Il s'agit d'un programme qui, à partir d'un nombre de secondes données, affiche le nombre d'années, de mois, de jours, de minutes et de secondes.
Pourquoi ais-je eu du mal ? A cause des modulos..! Je n'ai toujours pas reprit entièrement l'habitude des divisions avec reste, et ça a du mal à passer pour le moment...
J'ai quand même réussi à pondre un code fonctionnel, malgré les difficultés que j'ai rencontrées.
Lien vers le code : ici

dimanche 1 novembre 2009

Multiples, ou "petit entrainement à l'utilisation du modulo"

Le modulo, qui s'écrit % en Python (et dans bien d'autres langages), est un outil assez pratique pour déterminer le reste d'une division.
Les deux codes que je vais vous présenter ci dessous, sont un petit entrainement à l'utilisation du modulo, qui est un outil qui m'a paru assez abstrait lors des premières utilisations. En effet, depuis l'école primaire (et ça date !), je n'ai plus fait attention au reste des divisons, mais toujours pris le nombre avec sa partie décimale. Les retrouvailles furent donc difficiles et je n'ai pas encore totalement repris l'habitude.
Mais trêve de bavardages inutiles, voici les codes :

Le premier exercice consistait à afficher une table de multiplication en indiquant d'une étoile les multiples de 3.
Lien vers le code : ici

Le second exercice consistait à n'afficher que les multiples de 7 d'une table de multiplication.Lien vers le code : ici

P.S : A noter que, sur le conseil d'un lecteur, j'ai retiré les parenthèses de mes codes ci-dessus, même si j'ai encore l'habitude de les mettre, je vais tenter d'ôter celles-ci de mon esprit, pour Python du moins.