Partage
  • Partager sur Facebook
  • Partager sur Twitter

PYTHON CHAINE DE CARACTERE PROPRE

Transformer un fichier texte en chaine de caractere propre

    25 janvier 2016 à 16:00:29

    C'est usant. Ton code comporte même des boucles inutiles, des points-virgules, et des erreurs de syntaxe (l. 65 et alentours), que veux-tu qu'on te dise ? Tu ne comprends pas un mot du code produit, donc tu n'apprends rien, quel intérêt ?

    • Partager sur Facebook
    • Partager sur Twitter
      25 janvier 2016 à 16:13:12

      Si je comprend mon code , mais je ne maitrise pas tout le python, je demande juste que quelqu'un me montre comment il faudrait faire , car si je ne savais rien faire , je n'aurai pas fait tout ça comme même , puis c'est pas comme si j'avais rien fait j'ai comme même fourni un effort non négligeable .

      • Partager sur Facebook
      • Partager sur Twitter
        25 janvier 2016 à 18:13:34

        Bon j'ai avancé , le programme marche , il est presque fini , mais il y reste un petit bémol .

        Je vous le présente :

        with open("C:/Users/F/Desktop/DIC.txt", "r") as f_obj:
            DICO = f_obj.read().splitlines()
            DICO = [[mot] for mot in DICO]
        """
        Ouverture du dictionnaire
        Création d'un tableau de mot appelé DICO
        """
        
        
        L6 = []
        for mot in DICO:
            if len(mot[0])==6 :
                L6.append(mot[0])
                "Selectionne les mots de 6 lettres"
                "Rempli un tableau nommé L6 avec les mots de 6 lettres"
        print(L6) 
        
        
        
        
        from random import randrange
        
        mots = L6
        dessins = [
        "VOUS AVEZ 6 ESSAIS" ,
        "IL VOUS RESTE 5 ESSAIS" ,
        "IL VOUS RESTE 4 ESSAIS",
        
        "IL VOUS RESTE 3 ESSAIS",
        
        "IL VOUS RESTE 2 ESSAIS",
        
        "IL VOUS RESTE 1 ESSAIS",
        
        "IL VOUS RESTE 0 ESSAIS"]
        
        max_erreurs = len(dessins) - 1
        
        def lire_lettre(propositions):
            #########################################################################
            """
             Demande une lettre à l'utilisateur en s'assurant qu'elle n'a pas déjà
             été proposée, puis ajoute cette lettre à la liste des lettres déjà
             proposées.
        
             >>> liste=['a', 'b', 'c']
             >>> lire_lettre(liste)
             Entrez une proposition de lettre : A
             Une seule lettre en minuscule, s'il vous plaît.
             Entrez une proposition de lettre : a
             Cette lettre a déjà été proposée.
             Entrez une proposition de lettre : qsdf
             Une seule lettre en minuscule, s'il vous plaît.
             Entrez une proposition de lettre : e
             'e'
             >>> print(liste)
             ['a', 'b', 'c', 'e']     
            """
            #########################################################################
            Supersolution =[]
            while True:
                mot = input("Entrez une proposition de mot : ")
                if len(mot)!= 6 :
                    print("Le mot doit faire 6 lettres et faire partie de la liste !")
                else:
                        solution = []
                        if mot == propositions:
                            print("C'est le bon mot !")
                            break;
            
                        else:
                            liste_lettre_mot = [i for i in mot]
                            liste_lettre_propositions = [i for i in propositions]
                            for i in range(0,6):
                                if (liste_lettre_mot[i] == liste_lettre_propositions[i]):
                                    solution += liste_lettre_mot[i]
                                    i=i+1
                                else:
                                     solution += "_"
                                     i=i+1
        
                            print("Solution")
                            print(solution)            
            return mot
        
        def mot_avec_tirets(mot, propositions):
            #########################################################################
            """
             Renvoie un mot dont les lettres inconnues sont remplacées par des tirets
             
             >>> mot_avec_tirets('tirets', ['t', 'i'])
             'ti--t-'
            """
            #########################################################################
            m = ''
            for lettre in mot:
                if lettre in propositions:
                    m = m + lettre
                else:
                    m = m + '-'
            return m
        
        def partie():
            #########################################################################
            """
        
             Joue une partie de pendu
             retourne True si gagné, False si perdu
            """
            #########################################################################
        
            #
            # Initialisations
            #
            erreurs = 0
            mot = mots[randrange(len(mots))]
            propositions = []
            print(mot)
        
            #
            # Boucle d'interrogation de l'utilisateur
            #
            print(dessins[erreurs])
        
            while True:
                print("Mots déjà proposés :", propositions)
                print("Réponse courante :", mot_avec_tirets(mot, propositions))
        
                lettre = lire_lettre(mot)
        
                if lettre == mot:
                    print("Bravo, vous avez gagné. Le mot était :", mot)
                    print("Nombre d'erreurs:", erreurs)
                    return True
                else:
                    erreurs = erreurs + 1
                    print(dessins[erreurs])
                    if erreurs >= max_erreurs:
                        print("vous êtes pendu, le mot était :", mot)
                        return False
        
        #############################################################################
        # Programme principal
        #############################################################################
        print("bonjour, merci de jouer à motus en python")
        
        parties = 0
        victoires = 0
        
        
        while True:
            parties = parties + 1
            if partie():
                victoires = victoires + 1
        
            while True:
                cont = input("C pour continuer, a pour arrêter : ")
                if cont == 'C' or cont == 'A':
                    break;
        
            if cont == 'A':
                break;
        
        print("Vous avez joué", parties, "partie(s)")
        print("Vous en avez gagné", victoires)
        print("Au revoir et merci")
        

        Mais le léger bémol c'est quand je réessaye regarder le résultat ,

        ['ABERRA', 'ABERRE', 'ABERRE', 'ABETIE', 'ABETIR', 'ABETIS', 'ABETIT', 'ABETIT', 'ABIMAI', 'ABIMAS', 'ABIMAT', 'ABIMEE', 'ABIMER', 'ABIMES', 'ABIMES', 'ABIMEZ', 'ABJECT', 'ABJURA', 'ABJURE', 'ABJURE']
        bonjour, merci de jouer à motus en python
        ABIMEE
        VOUS AVEZ 6 ESSAIS
        Mots déjà proposés : []
        Réponse courante : ------
        Entrez une proposition de mot : ABIMER
        Solution
        ['A', 'B', 'I', 'M', 'E', '_']
        Entrez une proposition de mot : ABERRE
        Solution
        ['A', 'B', '_', '_', '_', 'E']
        Entrez une proposition de mot : 

        Il ne rajoute pas les lettres écrites précedements .

        • Partager sur Facebook
        • Partager sur Twitter
          31 janvier 2016 à 11:01:10

          Bon juste pour dire que ce poste est terminé , mon programme n'est pas vraiment achevé , j'étais censé avoir une aide du forum , et à pars Olygrim , je n'ai eu que des critiques non constructives, qui n'ont rien apporter à mon programme . Je pense qu'on était dans un forum , je ne sais pas si c'est le changement d SiteduZero à OpenClassrooms qui à fait changer les gens . Mais je ne me suis pas senti aidé , j'ai plus l'impression que j'ai perdu mon temps à posté des postes pour rien . C'est comme même décevant quand on c'est d'ou vient Openclassrooms au départ ...
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            31 janvier 2016 à 11:10:30

            Oh que tu as un jolie nombril...

            Eh bon vent hein !

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              31 janvier 2016 à 11:22:56

              rayanflaifil95 a écrit:

              Bon juste pour dire que ce poste est terminé , mon programme n'est pas vraiment achevé , j'étais censé avoir une aide du forum , et à pars Olygrim , je n'ai eu que des critiques non constructives, qui n'ont rien apporter à mon programme . Je pense qu'on était dans un forum , je ne sais pas si c'est le changement d SiteduZero à OpenClassrooms qui à fait changer les gens . Mais je ne me suis pas senti aidé , j'ai plus l'impression que j'ai perdu mon temps à posté des postes pour rien . C'est comme même décevant quand on c'est d'ou vient Openclassrooms au départ ...


              Tu ne voulais pas une aide, tu voulais qu'on fasse le travail à ta place et en récupérer  toute la gloire et cela gratuitement. Si tu voulais à coup sûr réussir, il suffit de payer un développeur...

              Nous notre objectif ici reste pédagogique, et tous ici, ont essayé de te guider et te faire comprendre qu'il faut un minimum se documenter pour comprendre les codes proposés. Tu n'as pas fais l'effort ! Tu es donc le seul responsable, et je pense que si tu es noté sur ce travail, la note sera bien trop élevée par rapport au travail produit.

              Ce n'est pas non plus ce qu'on attend des personnes s'inscrivant sur ce forum, désolé de te décevoir, mais effectivement, tu t'es sans doute trompé de forum.

              -
              Edité par Anonyme 31 janvier 2016 à 11:24:07

              • Partager sur Facebook
              • Partager sur Twitter
                31 janvier 2016 à 11:34:05

                La programmation c'est comme le français: il y a une partie grammaire (la syntaxe) et une partie vocabulaire. Toi tu n'as ni l'un ni l'autre. Il a donc été impossible de communiquer. N'oublie pas qu'un forum c'est avant tout des personnes qui donnent de leur temps pour AIDER. Ça implique (implicitement) un investissement (IMPORTANT) de la part du demandeur. On ne peut rien faire si tu n'as pas un minimum de connaissances ;)

                Et d'ailleurs, le meilleur conseil t'a été donné par entwanne lorsqu'il t'a dirigé vers un tutoriel

                • Partager sur Facebook
                • Partager sur Twitter
                Précepte: Le mieux est l'ennemi du bien
                  31 janvier 2016 à 12:06:07

                  rayanflaifil95 a écrit:

                  Bon juste pour dire que ce poste est terminé , mon programme n'est pas vraiment achevé , j'étais censé avoir une aide du forum , et à pars Olygrim , je n'ai eu que des critiques non constructives, qui n'ont rien apporter à mon programme . Je pense qu'on était dans un forum , je ne sais pas si c'est le changement d SiteduZero à OpenClassrooms qui à fait changer les gens . Mais je ne me suis pas senti aidé , j'ai plus l'impression que j'ai perdu mon temps à posté des postes pour rien . C'est comme même décevant quand on c'est d'ou vient Openclassrooms au départ ...

                  Merci, c'est toujours agréable comme réponse quand on a passé du temps pour s'impliquer dans le sujet. Tu ne t'es pas senti aidé parce que ce n'était pas de l'aide que tu recherchais, comme l'explique OldProgrammer. Au fait, le forum n'est pas composé de gens à ton entière disposition.

                  Mais maintenant que tu as « terminé » ton projet, il serait peut-être temps de te poser et lire un bon cours sur le Python.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 février 2016 à 17:29:20

                    Bonjour, je n'ai vu que le message que maintenant, vu que c'est les vacances , et avant y a eu le rush de la PREPA , juste pour dire UN BON COURS sur le python , mais si je vais celui d'Open Classrooms c'est bon , non ?

                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 février 2016 à 17:44:48

                      Celui d'OpenClassRooms traîne de nombreuses erreurs et n'est pas forcément recommandable. Préfère celui-ci : http://inforef.be/swi/python.htm

                      • Partager sur Facebook
                      • Partager sur Twitter

                      PYTHON CHAINE DE CARACTERE PROPRE

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown