Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercices du cours Python / postez ici !

    16 octobre 2014 à 9:41:03

    Neo62 a écrit:

    Bonsoir,

    Rassurez-moi mais en temps que membre premium, je n'ai en principe pas de limite de temps pour rendre mes exercices. C'est bien juste?

    Joseph

    Bonjour Joseph, en effet, C'est ça. Comme membre premium, tu peux faire les exercices à ton rythme !
    Bon apprentissage !
    Anouck d'OpenClassrooms
    • Partager sur Facebook
    • Partager sur Twitter
    Ancienne CM d'OpenClassrooms - Plus d'infos ici ! 
      16 octobre 2014 à 18:13:20

      @Tobal86 et @vince277 : Vous n'avez rien à envoyer pour l'instant, les exercices sont à faire pour soi, pour apprendre. Seuls les Quizz sont à faire sur le site.

      @Anouck : pas moyen d'avoir des sujets différents sur ce forum plutôt qu'un sujet qui traite de tout ? Merci :)

      • Partager sur Facebook
      • Partager sur Twitter
        20 octobre 2014 à 13:58:52

        Bonjour à tous,

        je viens tout juste de commencer avec le cours et il y a un truc qui ne marche pas pour moi avec la fonction print

        Comment faire pour ne pas afficher les parenthèses et apostrophes?

        Merci.

        -
        Edité par Faranaz 20 octobre 2014 à 14:05:17

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          20 octobre 2014 à 14:06:37

          Regardes la version python que tu as et compares avec celle employée dans le cours.
          • Partager sur Facebook
          • Partager sur Twitter
            20 octobre 2014 à 14:39:38

            Merci oldProgrammer, ça marche maintenant!
            • Partager sur Facebook
            • Partager sur Twitter
              20 octobre 2014 à 22:42:28

              resalut, suis à la bourre pour la phase 2 et je m'interroge sur une fonction que j'ai créée pour le TP du Pendu

              comme Python ne veut pas qu'on modifie directement un caractère d'une chaine à un rang donné, je crée une fonction pour ça :

              mot_mystere="*********"

              a=1

              def remplacer(st,lettre,ra):

                  deb=st[0:(ra-1)]

                  fin=st[ra:]

                  st=deb+lettre+fin

                  print(st)

              while a:

                  lettre_choisie=input("taper une lettre :")

                  rang=input("choisissez le rang à modifier :")

                  rang=int(rang)

                  remplacer(mot_mystere,lettre_choisie,rang)

                  print(mot_mystere)

              et ça donne par exemple :

              taper une lettre :m

              choisissez le rang à modifier :1

              m********

              *********

              bref, la modification s'opère comme je l'attends dans la fonction... mais n'est pas conservée par la suite, donc ça sert à rien en l'état. Why ??

              • Partager sur Facebook
              • Partager sur Twitter
                20 octobre 2014 à 23:10:38

                Parce qu'il faut que ta fonction renvoie quelque chose, la tu fais juste un affichage.

                PS: utilise les balises code si tu veux qu'on lise tes messages ;)

                Edit: Et c'est quoi cette hstoire d'exercices à faire? J'ai un peu cherché mais je trouve pas :/ Ou alors c'est juste les quizs?

                -
                Edité par Derzal 20 octobre 2014 à 23:12:00

                • Partager sur Facebook
                • Partager sur Twitter
                  21 octobre 2014 à 7:52:10

                  @Tobal86 : Ta variable st est une variable local de ta fonction remplacer, c'est à dire que sa porté ne dépasse pas cette fonction, en dehors de ta fonction elle n'existe plus. Utilise comme te le suggère Derzal, un return à la fin de ta fonction pour récupérer les changements.

                  @Derzal : C'est le TP de la semaine : "le jeu du pendu", mais qui n'est pas à rendre, juste à faire pour s’entraîner.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 octobre 2014 à 10:28:13

                    Ah d'accord c'est bon alors, ça fait bien  longtemps que je l'ai fait ^^
                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 octobre 2014 à 14:47:14

                      Ok merci.

                      je termine ma fonction remplacer par return deb+lettre+fin et dans ma boucle While je capture les modifications d'itération en itération avec mot_mystere=remplacer(mot_mystere, lettre_choisie, rang). Et là ça marche !

                      serait intéressant de comparer les solutions trouvées par les élèves sur ce TP du jeu du pendu... 

                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 octobre 2014 à 11:14:37

                        J'ai fait un code avec une fonction :

                        def motMystere(name,letter) :
                        	mmot=""
                        	for i in range(0,len(name)) :
                        		if name[i] in letter :
                        			mmot+=name[i]
                        		else :
                        			mmot+='*'
                        	return(mmot)

                        et je décompte le nombre de lettre trouvées par rapport aux lettres à trouver :

                        def lettreReponse(mo,rep) :
                        	for i in range(0,len(mo)) :
                        		if rep == mo[i] :
                        			return True




                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          22 octobre 2014 à 11:32:56

                          def motMystere(name,letter) :
                              mmot=""
                              for i in range(0,len(name)) :
                                  if name[i] in letter :
                                      mmot+=name[i]
                                  else :
                                      mmot+='*'
                              return(mmot)

                          pourquoi ne pas faire tout simplement for char in name et utiliser char ?

                          Ensuite imaginons, qu'on réutilise cette fonction pour un deuxième remplacement, ça va merder

                          mot = motMystere('bonjour', 'o') # *o**o**
                          mot = motMystere(mot, 'k') # *******
                          

                          En gros l'algorithme merde quelque part, il te faut absolument comparer tes lettre à ton mot d'origine

                          def motMystere(origin, myst,letter) :
                              mmot = list(myst)
                              for ind, char in enumerate(origin):
                                  if char == letter:
                                      mmot[ind] = char
                              return ''.join(mmot)
                          
                          mot = motMystere('bonjour', '*******', 'o') # *o**o**
                          mot = motMystere('bonjour', mot, 'k') # *o**o**
                          
                          print(mot)



                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 octobre 2014 à 16:53:09

                            Bonjour à tous,

                            Je viens de finir la première partie du cours avec un résultat au Quiz de 15/20 

                            Est-ce que ce résultat me sert à quelque chose si je ne suis pas Premium ?

                            À la fin du cours on doit réaliser un programme Casino, je l'ai fait, modifié, mais j'ai toujours deux problèmes :)

                            1. Je n'arrive pas à mettre les accents alors que j'ai bien marqué l'encodage utf-8...

                            2. Je n'arrive pas à relancer le programme...

                            Merci de votre aide

                            PS : Oui, mes noms de variables sont ridicules haha

                            PS 2 : J'aurai aimé mettre mon code en couleur mais je ne sais pas comment faire (ça ne va pas être très agréable pour vos yeux... (EDIT : Ah ben ça se met tout seul :p)

                            #!/usr/bin/pythonw
                            # -*-coding:utf-8 -*\
                            
                            import os
                            from random import randrange
                            from math import ceil
                            
                            continuer_partie = True
                            
                            print ("Vous arrivez au casino, attention a vos sous :p")
                            while continuer_partie :
                            
                                argent_choisi = 0
                                while argent_choisi < 100 or argent_choisi > 1000 :
                                    argent_choisi = input ("Choisissez l'argent que vous voulez entre 100 et 1000 : ")
                                    try :
                                        argent_choisi = int(argent_choisi)
                                    except ValueError :
                                        print ("Vous n'avez pas saisi de nombre")
                                        mise = -1
                                        continue
                                    if argent_choisi < 100 :
                                        print ("C'est inférieur à 100")
                                    if argent_choisi > 1000 :
                                        print ("C'est bien trop !")
                                    else :
                                        print ("Vous avez", argent_choisi,"$")
                            
                                nombre_choisi = -1
                                while nombre_choisi < 0 or nombre_choisi > 49 :
                                    nombre_choisi = input("Choississez un nombre entre 0 et 49 : ")
                            
                                    try :
                                        nombre_choisi = int(nombre_choisi)
                                    except ValueError :
                                        print ("Vous n'avez pas choisi de nombre")
                                        nombre_choisi = -1
                                        continue
                                    if nombre_choisi < 0 :
                                        print ("Ce nombre est négatif")
                                    if nombre_choisi > 49 :
                                        print ("Ce nombre est supérieur à 49")
                                    else :
                                        print ("Vous avez choisi le nombre ",nombre_choisi)
                            
                                mise_choisi = 0
                                while mise_choisi <= 10 or mise_choisi > argent_choisi :
                                    mise_choisi = input ("Choisissez une mise entre 10 et votre maximum : ")
                            
                                    try :
                                        mise_choisi = int(mise_choisi)
                                    except ValueError :
                                        print ("Vous n'avez pas saisi de nombre")
                                        mise_choisi = -1
                                        continue
                                         
                                    if mise_choisi <= 100 :
                                        print ("La mise n'est pas assez élevée")
                                    if mise_choisi > argent_choisi :
                                        print ("Vous ne pouvez pas miser autant, vous avez seulement ", argent_choisi)
                                    else :
                                        print ("Vous avez choisi de miser : ", mise_choisi, "$")
                            
                                nombre_croupier = randrange (50)
                                print ("La bille s'est arretee sur :  ", nombre_croupier)
                            
                                if nombre_croupier ==  nombre_choisi :
                                    print ("Vous gagnez trois fois votre mise : 3 *", mise_choisi, "=", 3* mise_choisi)
                                    argent_choisi += mise_choisi *3
                                elif nombre_croupier % 2 ==  nombre_choisi % 2 :
                                    mise_choisi = ceil(mise_choisi * 0.5)
                                    print ("Vous remportez 50% de votre mise : ", mise_choisi/2)
                                    argent_choisi += mise_choisi
                                else :
                                    print ("Vous avez perdu")
                                    argent_choisi -= mise_choisi
                            
                                if argent_choisi <= 0:
                                    print("Vous etes ruine ! C'est fini :(")
                                    continuer_partie = False
                                else:
                                    print("Vous avez a present", argent_choisi, "$")
                                    quitter = input ("Souhaitez-vous quitter ? (o/n)")
                                    if quitter == "o" or quitter == "O" :
                                        print("Vous quittez le casino avec vos gains")
                                        continuer_partie = False
                            



                            -
                            Edité par Tooty 26 octobre 2014 à 16:53:49

                            • Partager sur Facebook
                            • Partager sur Twitter
                            99% des problèmes informatiques se trouvent entre la chaise et l'écran
                              26 octobre 2014 à 19:50:03

                              Bonjour, 

                              Existe t il un moyen d obtenir du temps supplémentaire pour les exercices ? 

                              • Partager sur Facebook
                              • Partager sur Twitter
                                26 octobre 2014 à 21:42:59

                                Salut Tooty,

                                Il me semble que la ligne à mettre est: # -*- coding: utf-8 -*-

                                Sinon pour ton code: Toute ta première partie (argent_choisi) alourdit inutilement ton code. De plus comme tu l'a placée dans la boucle principale, à chaque tour l'utilisateur pourra rechoisir sa somme de départ. Autant directement donner toi-même une somme initiale. Autre chose, tu demande de miser entre 10 et le mas, mais ensuite tu vérifie que la mise doit être supérieure à 100. Autant directement le mentionner lors de la mise.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Précepte: Le mieux est l'ennemi du bien
                                  27 octobre 2014 à 11:07:56

                                  Olygrim a écrit:

                                  Salut Tooty,

                                  Il me semble que la ligne à mettre est: # -*- coding: utf-8 -*-

                                  Sinon pour ton code: Toute ta première partie (argent_choisi) alourdit inutilement ton code. De plus comme tu l'a placée dans la boucle principale, à chaque tour l'utilisateur pourra rechoisir sa somme de départ. Autant directement donner toi-même une somme initiale. Autre chose, tu demande de miser entre 10 et le mas, mais ensuite tu vérifie que la mise doit être supérieure à 100. Autant directement le mentionner lors de la mise.



                                  Salut :)

                                  Merci pour ta réponse complète

                                  J'ai remarqué l'erreur de la mise que j'ai modifié après avoir posté le message :)
                                  En ce qui concerne la première partie, je ne pensais pas que ça ne servait à rien ^^

                                  Et en ce qui concerne la boucle pour relancer le jeu ? 

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  99% des problèmes informatiques se trouvent entre la chaise et l'écran
                                    27 octobre 2014 à 18:12:19

                                    "En ce qui concerne la première partie, je ne pensais pas que ça ne servait à rien"

                                    C'est pas que ça sert à rien, c'est juste que l'intérêt est limité ^^

                                    Sinon pour ta boucle principale ça marche bien chez moi. Quel est le problème que tu rencontre?

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Précepte: Le mieux est l'ennemi du bien
                                      28 octobre 2014 à 10:39:56

                                      Voilà ce que ça m'affiche :

                                      Traceback (most recent call last):
                                        File "/Users//Documents/Projet Python/ZCasino/ProgrammeCasino.py", line 83, in <module>
                                          quitter = input ("Souhaitez-vous quitter ? (o/n)")
                                        File "<string>", line 1, in <module>
                                      NameError: name 'N' is not defined
                                      MacBook-Pro-de-***:ZCasino ****$ 

                                      La première partie c'était surtout pour m'exercer :)

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      99% des problèmes informatiques se trouvent entre la chaise et l'écran
                                        28 octobre 2014 à 10:49:57

                                        Ok, c'est normal. En python2 le input() est à typage dynamique. Autrement dit, quand tu entre N, il l'interprète comme une variable. Pour contourner ce problème, soit tu utilise la méthode raw_input() qui convertit tout ce qu'entre l'utilisateur en chaîne de caractères, soit tu convertit explicitement la sortie de ton input():

                                        #Conversion explicite en chaîne de caractères
                                        quitter = str(input("Souhaitez-vous quitter ? (o/n)"))
                                        
                                        #Ou utilisation de raw_input()
                                        quitter = raw_input("Souhaitez-vous quitter ? (o/n)")
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Précepte: Le mieux est l'ennemi du bien
                                          28 octobre 2014 à 12:57:16

                                          Bonjour tout le monde,

                                          J'ai un "petit" problème sur la validation de la partie 3

                                          Pour faire simple: je ne vois même pas comment faire déplacer mon robot dans ma carte. Je me doute bien qu'il sera question de modifier le fichier texte à l'origine de la carte, mais je ne vois pas comment récupérer les coordonnées des différents éléments. 

                                          Je coince totalement sur cette partie. Donc si quelqu'un a une petite idée de par où commencer, je suis preneur.

                                          (j'espère que le message n'est pas trop confus :/)
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            28 octobre 2014 à 15:19:00

                                            Olygrim a écrit:

                                            Ok, c'est normal. En python2 le input() est à typage dynamique. Autrement dit, quand tu entre N, il l'interprète comme une variable. Pour contourner ce problème, soit tu utilise la méthode raw_input() qui convertit tout ce qu'entre l'utilisateur en chaîne de caractères, soit tu convertit explicitement la sortie de ton input():

                                            #Conversion explicite en chaîne de caractères
                                            quitter = str(input("Souhaitez-vous quitter ? (o/n)"))
                                            
                                            #Ou utilisation de raw_input()
                                            quitter = raw_input("Souhaitez-vous quitter ? (o/n)")
                                            Merci de m'avoir aidé jusqu'au bout, je prend note de tout ce que tu m'as dit :)

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            99% des problèmes informatiques se trouvent entre la chaise et l'écran
                                              30 octobre 2014 à 11:01:49

                                              Bonjour,

                                              J'ai essayé de faire l'exercice de la partie 3 (Labyrinthe) mais je n'y suis pas arrivé; serait-il possible d'avoir la solution ?

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                30 octobre 2014 à 18:16:31

                                                Bonjour, 

                                                Je suis débutant, et bien sûr j'ai un soucis au début du tuto!
                                                dans l'intro, au chapitre 4, au moment où sont exposées les limites de la fonction if, quand j'essaye de reproduire les lignes de code :
                                                1) >>> a = 5
                                                2) >>> if a > 0: # Si a est positif
                                                3) ...    print("a est positif.")
                                                4) ... if a < 0: # a est négatif
                                                5) ...    print("a est négatif.")

                                                Je n'arrive pas à rentrer la 5ème ligne, quand j'appuie sur entrée à la fin de la 4ème ligne pour donner la dernière instruction, Paf l'interpréteur m'affiche direct un message d'erreur :
                                                 File "<stdin>", line 3
                                                    if a<0: 
                                                    ^
                                                SyntaxError: invalid syntax 

                                                Je vous avoue que je suis bien embêté, car j'ai scrupuleusement respecté les lignes de code. Je ne sais pas pourquoi ce message s'affiche, sachant que dans l'exemple ça a l'air de fonctionner.

                                                De même que quand je rentre sur une ligne vide # suivi d'une remarque, lorsque j'appuie sur entrée au lieux d'avoir sur la nouvelle ligne >>> comme sur le tuto, python m'affiche ... ce qui n'a pas l'air de changer grand chose.

                                                Je précise que j'ai téléchargé la dernière version de Python 3.4.2

                                                Merci pour votre aide

                                                 

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  30 octobre 2014 à 18:18:17

                                                  je suis également curieux de savoir comment vous intégrez vos belle photo de python, si vous avez un lien je suis preneur
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    4 novembre 2014 à 17:54:00

                                                    Bonjour,

                                                    Serait-il possible d'avoir une réponse, peu importe laquelle? Je viens de constater avec déplaisir que j'ai été désinscrit du cours, et que durant ce temps, je n'ai pas vu l'ombre d'un seul message,...
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      4 novembre 2014 à 18:19:58

                                                      Bonjour, 

                                                      Je ne sais pas exactement ce qu'il s'est passé, mais, à ma connaissance, il n'y a que vous qui puissiez vous désinscrire du cours... Pouvez-vous envoyer un mail à contact@openclassrooms.com en donnant quelques détails, s'il vous plaît ? 

                                                      Merci ! 

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      The best is to expect the worst.
                                                        5 novembre 2014 à 8:23:11

                                                        Bonjour,

                                                        Il me semble que le corrigé de l'exercice "Partie 4 : Améliorer notre labyrinthe" n'est pas le bon ou je n'arrive pas à le télécharger, j'ai tout le temps celui de  "creer un labyrinthe". Du coup j'ai du mal à corriger les exercices que je dois apprécier pour avoir ma note. N'ayant pas réussi moi même l'exercice, je ne vois pas comment travailler efficacement et être juste sans ce corrigé.

                                                        Merci de votre retour,

                                                        Cordialement,

                                                        Frédéric

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          5 novembre 2014 à 10:08:25

                                                          Bonjour,

                                                          Serait-il possible d'avoir le corrigé de l'exercice de la partie 3 "créer un labyrinthe" ?

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            5 novembre 2014 à 16:01:32 - Message modéré pour le motif suivant : Merci de créer un nouveau topic pour cette question


                                                              5 novembre 2014 à 17:14:32

                                                              RobinTrabuc a écrit:

                                                              Bonjour, c'est au sujet de mon TPE. On a un petit problème, on ne trouve pas comment faire une analyse des fréquences (compter le nombre de A,B,C... dans un texte) avec la boucle "for", on sais le faire avec la fonction "count()" mais c'est plus long..

                                                              On a chercher pendant pas mal de temps, sans succès, alors je vous demande un peut d'aide, merci !


                                                              Salut Robin !

                                                              Merci de recréer un post pour y mettre ta question :)

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter
                                                              Louche et en chaleur qu'y disait - Tout le monde doit le savoir, l'avatar de Lorrio est une marmotte !! Partagez l'information

                                                              Exercices du cours Python / postez ici !

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              • Editeur
                                                              • Markdown