Categories
Apprentissage Conseil Python

Visualiser son code

Je m’attaque à un nouveau programme : celui du jeu du Pendu.
Vous savez, ce jeu où l’on doit retrouver un mot en le découvrant une lettre après l’autre avant d’être « pendu »…

Jeu du Pendu

Dans l’énoncé de l’exercice, il y a beaucoup de paramètres à prendre en compte. Et tous doivent être exécutés dans le bon ordre pour que le programme marche correctement !

Voici l’énoncé : https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/232565-tp-realisez-un-bon-vieux-pendu

Et pour être sûre de ne pas me tromper dans mon code, il a fallu que je dessine de façon algorithmique les différentes étapes du programme…

Voyez par vous même ci contre –>

Merci Pierre 😉


Important !

Visualiser son programme est très important pour ne pas faire d’erreur dans les différentes étapes du code.

Alors n’oubliez pas de commencer un nouveau programme
par la Visualisation !


Categories
Apprentissage Python

Résolution de problème

Souvenez-vous… J’avais partagé avec vous mon premier TP : le programme d’un jeu de roulette – le ZCasino.

Il s’avère que mon programme est facilement « plantable »…
Et sur de nombreux points en plus ! 😮

Alors voici les remarques et ma résolution de problème (ou plus simplement ma correction !).

  1. Au départ, j’ai une erreur lorsque je ne tape pas un entier alors que le programme en attend un.
  2. La gestion des paris négatifs n’est pas prise en compte… Du coup, je perds mais je gagne !
  3. Si je mise plus d’argent que je n’en ai apporté, je me retrouve à découvert !
  4. Miser sur un numéro négatif est permis…

Dans mon programme, je n’ai pas mis de conditions sur mes différentes variables pour vérifier qu’elles étaient bien des chiffres valables.
De plus, je me suis rendu compte qu’il ne faut pas oublier de mettre une boucle pour que la condition se répète jusqu’à ce que l’utilisateur tape la valeur attendue. 


Il est donc vraiment important de toujours vérifier son code.
Dans tous les sens, même si on se dit que cela ne pourra jamais arriver.

Parce que si, tout est possible !

Alors, prenez le temps de tester et retester votre code.
Et surtout, soumettez le à une tierce personne, ou plusieurs.
Car elle(s) sera(seront) bien plus maligne(s) que vous pour trouver comment faire planter votre programme !

Merci Romain 😉


Je vous mets ci-dessous mon code corrigé si vous souhaitez l’essayer 🙂

# ****** programme du jeu de la roulette **********
print("Bienvenue au ZCasino, voici le jeu de la Roulette !")
import random
import math
# Somme disponible au départ
a = input("\nAvec quelle somme d'argent souhaitez vous jouer ? ")
while type(a) != int:
        try:
                int(a) == True
        except ValueError:
                print("Il y a une erreur, êtes vous certain de votre frappe ?")
                a = input("Avec quelle somme d'argent souhaitez vous jouer ? ")
        else :
                a = int(a)
                if a < 1 :
                        print("Vous ne pouvez pas jouer sans argent !")
                        a = input("Avec quelle somme d'argent souhaitez vous jouer ? ")
# début du jeu
j=1
while j != 0 :
        # numéro choisi par le joueur
        num_joueur = input("\nSur quel numéro souhaitez vous miser (entre 0 et 49) ? : ")
        while type(num_joueur) != int:
                try:
                        int(num_joueur) == True
                except ValueError:
                        print("Il y a une erreur, êtes vous certain de votre frappe ?")
                        num_joueur = input("Sur quel numéro souhaitez vous miser (entre 0 et 49) ? : ")
                else :
                        num_joueur = int(num_joueur)
                        if num_joueur < 0 or num_joueur > 49:
                                print("Le numéro choisi n'existe pas, veuillez en choisir un autre !")
                                num_joueur = input("Sur quel numéro souhaitez vous miser (entre 0 et 49) ? : ")
        # choisir sa mise
        mise = input("\nQuelle somme souhaitez vous miser sur ce numéro ? : ")
        while type(mise) != int :
                try:
                        int(mise) == True
                except ValueError :
                        print("Etes vous certain de votre frappe ?")
                        mise = input("Quelle somme souhaitez vous miser sur ce numéro ? : ")
                else :
                        mise = int(mise)
                        if mise <0:
                                print("Vous ne pouvez pas miser un nombre négatif !")
                                mise = input("Quelle somme souhaitez vous miser sur ce numéro ? : ") 
                        elif mise >a:
                                print("Vous n'avez pas assez d'argent !")
                                mise = input("Quelle somme souhaitez vous miser sur ce numéro ? : ")
        print("\n Votre mise est de ", mise, "$ sur le numéro ", num_joueur, "\n")
        # lance la roulette
        print("A vos jeux... La roulette est lancée... \n")
        jeu=random.randrange(50)
        print("Le numéro gagnant est le numéro ", jeu)
        # résultats et gains
        if jeu != num_joueur :
                if (jeu %2 == 0 and num_joueur %2 == 0) or (jeu %2 != 0 and num_joueur %2 != 0):
                        gain = math.ceil(mise * 0.5)
                        print("\n Vous avez misé sur la bonne couleur, vous gagnez ", gain, "$")
                        a = a + gain
                else:
                        gain = 0
                        print("\n Loupé, Vous venez de perdre votre mise !")
                        a = a - mise
        else:
                gain = 3 * mise
                print("\n Votre gain est de 3 fois votre mise, soit ", gain, "$")
                a = a + gain
        print("Il vous reste donc ", a, " $ pour continuer de jouer.")
        # possibilité de rejouer ou non
        if a == 0:
                print("\nVous n'avez plus d'argent ! Au revoir et à bientôt au ZCasino ")
                j=0
        else:
                r=input(" Voulez vous rejouer ? (O / N) ")
                if r == "O" or r == "o" :
                        j=1
                else:
                        print("Au revoir et à bientôt au ZCasino ")
                        j=0
Categories
Apprentissage Python

Des listes, et des dictionnaires…

Je viens de me frotter aux listes… Et là, il y a de quoi faire !
On peut en créer de toutes sortes. Le plus important à retenir c’est qu’une liste est caractérisée par son index.

J’ai donc appris à créer une liste, à supprimer ou insérer des éléments. Et surtout, je sais enfin comment faire une recherche et modifier une liste !!! 😉

Je suis ensuite passée aux dictionnaires.
Ils fonctionnent comme les listes, sauf qu’ils sont caractérisés par des mots clés et n’ont donc pas d’ordre précis.
Ce qui rend les modifications et les recherches plus faciles : plus besoin de se souvenir de l’index de l’élément cherché, il suffit de passer par sa clé !


Petit exercice pratique

Trier un inventaire de fruits sous forme de liste.
(lien de l’énoncé : https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/232143-creez-des-listes-et-des-tuples-2-2#/id/r-2232422 )

Et voici mon code :

inventaire = [
    ("pommes", 22),
    ("melons", 4),
    ("poires", 18),
    ("fraises", 76),
    ("prunes", 51),
    ]
# met les quantités en premier
inventaire_trie = [(qte, fruit) for fruit, qte in inventaire]

print(inventaire_trie)  # vérifie l'affichage

inventaire = inventaire_trie.sort(reverse = True)  # trie dans l'ordre croissant
inventaire = [(fruit, qte) for qte, fruit in inventaire_trie]  # remet la liste avec les fruits en premier

print(inventaire)  # affiche le résultat final
Categories
Apprentissage Python

Le monde merveilleux des objets !

Le monde merveilleux des objets

Aujourd’hui, je viens de faire connaissance avec les objets…

Enfin, plutôt de découvrir qu’en langage Python il faut tout considérer comme étant « objets » (les chaines de caractères, les variables, les fonctions, etc.)

Et le top avec les objets c’est qu’on peut leur faire faire de nombreuses choses.

Les exemples sont nombreux !
Mettre en forme les chaines de caractères, les formater, les ajouter…
On peut créer des listes, les parcourir ou sélectionner des éléments de cette liste…
etc.

Bref, la découverte de Python est pleine de (bonnes) surprises. Et ces dernières permettront à coup sûr de réaliser des (petits) programmes intéressants !


En parlant de programme, vous vous demandez sûrement ce qu’il en est de mon projet perso ?
Un peu de patience, j’ai des idées que je vous présenterai lorsque j’aurai mieux avancé dans mon apprentissage ! 🙂


Categories
Apprentissage Réflexion

L’apprentissage de l’échec

L’apprentissage n’est pas un long fleuve tranquille… Et garder sa motivation est important pour continuer d’avancer !

Pas de nouveautés aujourd’hui. Juste de nombreux d’échecs qui, j’en suis sûre, vont me permettre de mieux avancer demain…
Ce n’est pas évident de travailler seule, avec juste un cours sous les yeux. Car lorsque l’on ne comprend pas ce que l’on a sous les yeux, il faut s’armer de patience, chercher et rechercher pour arriver à trouver une solution.

Alors je vais illustrer ma journée grâce à cette citation de Winston Churchill :

Le succès c’est d’aller d’échec en échec sans perdre son enthousiasme.

Winston Churchill
Categories
Conseil Réflexion

Être ou ne pas être (développeur)…

Je viens de visionner la vidéo YouTube de @MikeCodeur intitulée « Ce que j’aurais aimé savoir quand j’ai débuté la programmation ».

C’est une super vidéo que je vous conseille d’aller voir.
Pourquoi ?
Car elle récapitule très bien les différents points sur lesquels réfléchir avant de se lancer tête baissée pour devenir développeur/euse !

Pour ma part, les points qu’aborde Mike m’ont fait réfléchir sur mon aventure. Et j’en suis venue à la conclusion que je pouvais continuer à apprendre à coder pour les raisons suivantes :

  • Au départ, j’ai réfléchi aux langages que je devais apprendre par rapport à ce qui est demandé sur le marché de l’emploi dans ma région.
  • Je n’ai pas peur de l’inconnu car je me suis lancée dans une aventure remplie de nouveautés… 😉
  • J’ai déjà réfléchi à un projet personnel (qui fera l’objet de futur(s) post(s) !) pour mettre en application tout ce que j’ai appris. 🙂

Je vais donc devoir travailler principalement sur deux points :
– mon côté perfectionniste (car il est vrai que j’aime quand les choses sont bien faites !)
– et ma peur de l’ennui (qui est ma principale appréhension pour l’avenir…).


Je vous laisse découvrir la vidéo dans le lien ici : https://youtu.be/xd9pz-KNpWA


Et vous, êtes-vous fait pour devenir développeur ?

Categories
Apprentissage Python

Premier TP, premier casse-tête

Aujourd’hui, j’ai réalisé mon premier TP : écrire un programme en Python pour simuler le célèbre jeu de Casino, la Roulette !

Le lien vers le TP c'est ici :
https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/231735-tp-tous-au-zcasino 

Après avoir bien revu toutes les notions apprises hier, je me suis lancée…
Heureusement, le cours est bien expliqué ! J’ai donc tout écrit sur une feuille pour mettre les idées au clair. C’est important de prendre le temps de bien tout décortiquer quand on est débutant ! Ça permet de moins galérer pour écrire le code.

Ensuite, je suis passée à la rédaction sur l’éditeur Python (IDLE).
De façon simple dans un premier temps, en écrivant ou codant toutes les informations nécessaires : ce que doit renseigner le joueur, le déroulement du jeu, les façons de gagner (j’ai écrit en français ce que je n’arrivais pas à coder directement !).

Puis au fur et à mesure, j’ai enrichi mon code pour avoir mon premier programme !

Je l’ai testé et là… loupé !
Mon code ne fonctionnait pas… 🙁

À force de persévérance, j’ai fini par faire fonctionner mon programme. Youpi ! 🙂

Première étape réussie, j’en suis fière.


Je retiens

Lorsque l’on code un programme, il ne marche pas forcément du premier coup (surtout lorsqu’on est débutant !). Et c’est à force de tâtonner, de le modifier, de l’améliorer que l’on y arrive.
Alors, il faut persévérer !


Je vous mets ci dessous mon code finalisé si vous souhaitez le tester ! 🙂

# ****** programme du jeu de la roulette **********
print("Bienvenue au ZCasino, voici le jeu de la Roulette !")
import random
import math
a = input("\nAvec quelle somme d'argent souhaitez vous jouer ? ")
a = int(a)
j=1
while j != 0 :
    #num_joueur()
    num_joueur = input("\nSur quel numéro souhaitez vous miser (entre 0 et 49) ? : ")
    num_joueur = int(num_joueur)
    # choisir sa mise
    mise = input("Quelle somme souhaitez vous miser sur ce numéro ? : ")
    mise = int(mise)
    print("\n Votre mise est de ", mise, "$ sur le numéro ", num_joueur, "\n")
    # lance la roulette
    print("A vos jeux... La roulette est lancée... \n")
    jeu=random.randrange(50)
    print("Le numéro gagnant est le numéro ", jeu)
    # gains
    if jeu != num_joueur :
        if (jeu %2 == 0 and num_joueur %2 == 0) or (jeu %2 != 0 and num_joueur %2 != 0):
            gain = math.ceil(mise * 0.5)
            print("\n Vous avez misé sur la bonne couleur, vous gagnez ", gain, "$")
            a = a + gain
        else:
            gain = 0
            print("\n Loupé, Vous venez de perdre votre mise !")
            a = a - mise
    else:
            gain = 3 * mise
            print("\n Votre gain est de 3 fois votre mise, soit ", gain, "$")
            a = a + gain
    print("Et vous avez au total ", a, " $")
    # possibilité de rejouer ou non
    if a == 0:
        print("\nVous n'avez plus d'argent ! Au revoir et à bientôt au ZCasino ")
        j=0
    else:
        r=input(" Voulez vous rejouer ? (O / N) ")
        if r == "O" or r == "o" :
                 j=1
        else:
                print("Au revoir et à bientôt au ZCasino ")
                j=0
Categories
Apprentissage Python

Mes débuts en Python

Il faut un début à tout… Alors j’ai décidé de commencer avec le langage Python !

Et pour ça, je suis le cours sur OpenClassrooms : « Apprenez à programmer en Python ».

Pourquoi ce choix de langage ?
Déjà parce qu’en me lançant dans la programmation, j’ai recherché sur Internet les langages les plus demandés/en vogue/appris et Python est ressorti dans les premiers.
Mon choix a été confirmé en discutant avec plusieurs personnes « de la partie »…

Et alors, commencer à apprendre Python, c’est comment ?
Déjà, j’ai commencé par les bases : c’est un langage interprété (qui s’exécute en même temps qu’il est lu) et il a l’avantage de pouvoir être compris par la plupart des systèmes d’exploitation informatiques. En plus, son « écriture » est très codifiée, ce qui permet de programmer de façon très structurée et claire. À noter qu’il y a de nombreuses bibliothèques disponibles, ce qui devrait être très bénéfique pour la suite !

Ensuite, le début de l’apprentissage est facile. J’ai appris les éléments de bases qui vont me permettre d’écrire mon 1er programme…

La suite est à découvrir dans le(s) prochain(s) post(s) !


Le saviez-vous ?

Lorsque l’on commence à apprendre un langage, on débute bien souvent en écrivant un programme permettant d’afficher
« Hello World »


Pour tout savoir sur « Hello World », direction Wikipédia qui explique rapidement le concept !


Mon code pour afficher « Hello World » dans la console Python

print("Hello World")
Mon code Python pour "Hello World"

Et l’aperçu du résultat ! 🙂

Categories
Non classé

Bienvenue sur le Blog de Marie 🙂

Débutante dans la programmation informatique, je souhaite partager avec vous mon parcours dans ce blog.

En commençant par mes apprentissages puis mes projets et tout ce que l’avenir m’apportera…

N’hésitez pas à me laisser des commentaires, j’y répondrais avec plaisir !

En attendant, je vous souhaite une bonne lecture…

Et en route pour l’Aventure !