Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur sur programme simple..

Sujet résolu
    30 décembre 2016 à 6:01:17

    Bonjour, sur la longue route qu'est la programmation, je me suis entraîné a crée un petit programme,c'est un questionnaire, avec un choix de matiere(meme si il n'y a que maths) et un choix de nombre de question(limité a 10(pour 4questionlol),ou illimité et repondre stop pour arreter)

    mais le probleme est que python n'arrive pas le faire tourner: erreur de syntaxe

    lien image de l'erreur (hostingpics)

    le code:

    from random import choice
    
    matiere= (raw_input("Quel matière voulez-vous travailler?(MATHS, FR, PC)"))
    
    
    nbrQ= (raw_input("Combien de question voulez vous? choississez un chiffre 10 max ou tape inf pour illimiter!"))
    
    Qmath=["1*1:1","2*2:4","3*3:9","9*9:81"]
    i=0
    
    if str(matiere)=="MATHS":
    	if str(nbrQ)=="inf":
    
    		while reponse not in stop:
    			question=choise(Qmath)
    			reponse= raw_input(Qmath.split(':')[0]+'? ')
    	
    			if reponse not in stop:
    				if reponse == Qmath.split(':')[1]:  
    					print'ok'
    				else: 
    					print 'pas ok du tout, la reponse est' Qmath.split(':')[1]
    		print"vous avez taper stop, a bientot!"      
    
    	elif int(nbrQ)==0,1,2,3,4,5,6,7,8,9,10:
    
    		while i<=nbrQ:
    			i++
    			print"Question n° " i
    			choise(Qmath)
    			reponse =raw_input(Qmath.split(':')[0]+'?')
    
    			if reponse == Qmath.split(':') [1]
    				print"ok"
    			else:
    				print'pas bon du tout... la reponse est 'Qmath.split(':')[1]
    		print "vous avez terminer! a bientot"
    
    
    	else:
    		print"erreur"
    else:
    	print"aucun autre matiere disponible"
    

    voila voila, en esperant un peu aide histoire de mettre tous sa au clair

    -
    Edité par serakoc 30 décembre 2016 à 6:22:49

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      30 décembre 2016 à 9:35:06

      Interpréteur !!!

      >>> print 'test' 2
        File "<stdin>", line 1
          print 'test' 2
                       ^
      SyntaxError: invalid syntax
      >>> print 'test', 2
      test 2
      



      • Partager sur Facebook
      • Partager sur Twitter
        30 décembre 2016 à 17:06:55

        Salut,

        Comme dit oldProgrammer, tout vos prints, doivent séparer les variables par des virgules ou des plus.

        #PAS BON
        print 'pas ok du tout, la reponse est' Qmath.split(':')[1]
        
        #BON
        print 'pas ok du tout, la reponse est ' + str(Qmath.split(':')[1])
        
        #BON
        print 'pas ok du tout, la reponse est', Qmath.split(':')[1]


        +1 pour oldProgrammer

        • Partager sur Facebook
        • Partager sur Twitter
          30 décembre 2016 à 21:00:08

          aha merci a vous c'etait bien sa!
          • Partager sur Facebook
          • Partager sur Twitter
            30 décembre 2016 à 23:13:01

            Salut :)

            Euh... t'es sûr ?

            Je me suis tapé un débogage simpliste de ton code (en somme, corriger les erreurs à la compilation, ligne par ligne). Le code semble s'exécuter et je l'ai testé.

            Déjà, l'utilisateur peut écrire n'importe quoi, il n'y a pas de boucle pour lui signifier qu'il doit écrire MATHS ou les 2 autres mots. Ce n'est pas le plus grave, tu peux le rectifier facilement.

            En revanche, après avoir écrit MATHS puis un nombre (j'ai pris 2 arbitrairement), j'obtiens ce message d'erreur :

            Question n°  1
            Traceback (most recent call last):
              File "textEditor.py", line 32, in <module>
                reponse =raw_input(Qmath.split(':')[0]+'?')
            AttributeError: 'list' object has no attribute 'split'

            Je n'ai pas cherché plus loin, mais, cela signifierait que la variable reponse est une liste et qu'il n'y a pas d'attribut split dans une liste. Peut-être qu'il te faut caster reponse en un type qui possède l'attribut split, mais, je trouve ça barbare.

            Bon courage :)

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              31 décembre 2016 à 10:50:43

              tomsawyer1311 a écrit:

              Euh... t'es sûr ?

              Oui c'est sûr !

              • Partager sur Facebook
              • Partager sur Twitter
                31 décembre 2016 à 11:10:51

                Salut :)

                Ce n'est pas à toi que je m'adressais.

                Maintenant, je ne suis pas un bon codeur, j'apprends encore python 3, le 2 j'y touche pour "m'amuser" avec pygame que je n'arrive pas à installer sur python 3(.4 et .5) sur Ubuntu 14.04.5 LTS.

                Néanmoins, le message d'erreur, je ne l'invente pas.

                C'est la raison pour laquelle, j'étais étonné du [Résolu] du thread.

                Maintenant, peut-être que je suis un branque et que j'ai corrigé n'importe comment. Si tu veux ma correction (de barbare), je peux te l'envoyer en MP.

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  31 décembre 2016 à 11:13:49

                  tomsawyer1311 a écrit:

                  Salut :)

                  Ce n'est pas à toi que je m'adressais.

                  Maintenant, je ne suis pas un bon codeur, j'apprends encore python 3, le 2 j'y touche pour "m'amuser" avec pygame que je n'arrive pas à installer sur python 3(.4 et .5) sur Ubuntu 14.04.5 LTS.

                  Néanmoins, le message d'erreur, je ne l'invente pas.

                  C'est la raison pour laquelle, j'étais étonné du [Résolu] du thread.

                  Maintenant, peut-être que je suis un branque et que j'ai corrigé n'importe comment. Si tu veux ma correction (de barbare), je peux te l'envoyer en MP.


                  Sa question est en rapport avec un message d'erreur du code, pas les éventuels messages suivants de l'interpréteur.

                  Le message est celui proposé en lien dans son premier topic -> ICI

                  Rien à voir avec le message erreur que tu présentes ! Il est normal que son sujet soit résolu, car il répond à sa question de départ...

                  • Partager sur Facebook
                  • Partager sur Twitter
                    31 décembre 2016 à 11:22:32

                    C'est pas faux.

                    Faut dire que le titre est d'une précision d'horloger (sic)

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Erreur sur programme simple..

                    × 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