Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème Python

Import

Sujet résolu
Anonyme
    3 juillet 2010 à 20:48:25

    Bonsoir !

    Voilà, j'ai une petite question (sans blague ? :-° ) : j'ai deux fichiers python, main.py, et fonctions.py
    Mais le problème que j'ai, bien que ça ne soit pas réellement un problème, c'est que lorsque j'écris dans main.py :

    import fonctions
    

    ,la fenêtre s'ouvre et se referme instantanément, alors que lorsque j'écris:


    from fonctions import *
    

    ,le code marche très bien et la fenêtre ne se referme pas toute seule...

    Peut-on m'éclairer ? Merci
    • Partager sur Facebook
    • Partager sur Twitter
      3 juillet 2010 à 20:55:33

      Et si tu nous mettais les codes de tes fichiers ?
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        3 juillet 2010 à 20:58:34

        Je pensais que c'était une spécificité du Python, c'est pour cette raison que je n'avais pas mis les codes.
        Mais les voici ^^

        main.py:

        # -*-coding:Latin-1 -*
        import os
        import fonctions
        
        print("Bienvenue dans le jeu du plus ou moins !\n")
        choix_jeu = menu_jeu()
        
        if choix_jeu == 2:
            print("Joueur 2, entrez un nombre : ")
            nombre_mystere = input()
            nombre_mystere = int(nombre_mystere)
            print("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n")
        
            jeu(nombre_mystere)
        
        os.system("pause")
        


        et fonctions.py:

        # -*-coding:Latin-1 -*
        def menu_jeu():
            print("1 --> Mode Solo\n")
            print("2 --> Mode Deux Joueurs\n")
        
            print("\nQue choisissez vous ?\n")
            choix = input()
            choix = int(choix)
            return choix
        
        def jeu(nombre_mystere):
            nombre_entre = 0
            nb_coups = 0
        
            while nombre_entre != nombre_mystere:
                print("Quel est le nombre, joueur 1 ?")
                nombre_entre = input()
                nombre_entre = int(nombre_entre)
        
                if nombre_entre < nombre_mystere:
                    nb_coups += 1
                    print("C'est plus !\n")
                elif nombre_entre > nombre_mystere:
                    nb_coups += 1
                    print("C'est moins !\n")
                else:
                    nb_coups += 1
                    print("Bravo ! Vous avez trouvé le nombre mystere en",nb_coups,",coups!\n")
        


        EDIT: Je sais que le code n'est pas terminé :-°
        • Partager sur Facebook
        • Partager sur Twitter
          3 juillet 2010 à 21:20:40

          C'est simple quand tu importe avec import mon_module tu dois écrire choix_jeu = mon_module.menu_jeu() . En gros tu dois préciser que c'est de tel module que la fonction provient.

          Suivant le cas chaque méthode peut-être utilisée.
          Si tu veux utiliser souvent des méthodes ou fonctions d'un module utilise from module import *
          Si tu ne veux utiliser que quelques fonctions ou méthodes: from module import focntion1, methode1, methode2
          Et si dans ton module se trouvent des fonctions ou méthodes qui portent le même nom que d'autres utilisées dans ton code utilise import module .

          Il vaut mieux ne pas trop employer from module import * car cela rend le debbugage plus complexe étant donné que tu ne connais pas forcément l'origine des fonctions ou méthodes.

          • Partager sur Facebook
          • Partager sur Twitter
            3 juillet 2010 à 21:22:59

            Dans ton fichier main.py, tu appelles la fonction menu_jeu . Or elle n'existe pas si tu fais import fonctions , elle s'appelle alors fonctions.menu_jeu .

            Je t'invite à te renseigner un peu plus en détail sur le fonctionnement de import en Python, en particulier sur la différence import module et from module import * .

            Je t'invite également à te servir d'idle, qui aurait pu te permettre de voir quelle était l'erreur en question (même si tu n'aurais pas forcément pu la résoudre tout seul, tu aurais ainsi compris ce qui posait un problème). iPoulet en parle un peu dans sa FAQ Python, que je te conseille d'aller lire. :)
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              3 juillet 2010 à 21:29:44

              Suis-je bête... Merci pour vos réponses !
              • Partager sur Facebook
              • Partager sur Twitter

              Problème Python

              × 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