Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur avec utf-8 et pas avec Latin-1

..

Sujet résolu
    27 mars 2011 à 19:55:08

    Voilà, comme je suis sous linux j'ai utilisé utf-8 et pas latin-1 mais dans un code, celui-ci :

    #! /usr/bin/python3.1
    # -*- coding: utf-8 -*-
    
    import os
    from random import *
    from math import *
    
    argent = 1000
    nombre = randrange(50)
    
    while argent  > 0:
    
    	print("Vous avez", argent,"EUR", ", misez sur un nombre compris entre 0 et 49")
    	nombre_choisis = input()
    	nombre_choisis= int(nombre_choisis)
    	
    	if nombre_choisis < 0 or nombre_choisis > 49 :
    		print("Vous n'avez pas entrer un nombre correct")
    		continue
    	else:()
    	
    	
    	print("Combien d'argent misez vous sur", nombre_choisis, "?")
    	mise = input()
    	mise = int(mise)
    
    	if nombre == nombre_choisis:
    		print("Bravo, la bille est tombée sur votre nombre, vous remportez 3 fois votre mise !")
    		argent = argent + mise*3
    		print("Vous avez maintenant", argent, "EUR")
    	
    	elif(nombre_choisis % 2 == 0 and nombre % 2 == 0) or (nombre_choisis % 2 !=0 and nombre % 2 !=0):
    		print("La bille ne s'est pas arretée sur votre nombre mais elle est tombée sur un nombre de même couleur")
    		print("Vous gagnez 50% de votre mise")
    		mise = mise / 2
    		mise = ceil(mise)
    		argent = argent + mise
    		print("Vous avez maintenant", argent,"EUR")
    	
    	else:
    		print("Vous avez perdu, vous perdez en conséquence votre mise")
    		argent = argent-mise 
    		
    		
    print("Vous avez tout perdu !! Au revoir !")
    


    J'ai comme erreur :

    administrateur@ubuntu:~/Bureau/Python$ ./py.py
      File "./py.py", line 33
    SyntaxError: (unicode error) 'utf8' codec can't decode byte 0xe9 in position 0: unexpected end of data
    administrateur@ubuntu:~/Bureau/Python$


    Mon fichier s'appelle py.py..
    Et donc si je remplace utf-8 par Latin-1 le programme fonctionne parfaitement !
    Que dois-je faire? Est-ce un bug ? Car j'ai du redémarrer l'ordinateur juste avant car rien ne marchait, erreur dès la première ligne sur la variable argent...Louche..

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      27 mars 2011 à 20:00:11

      Commence déjà par exécuter ton fichier à l'aide de cette commande.

      python3 py.py
      • Partager sur Facebook
      • Partager sur Twitter
        27 mars 2011 à 20:13:37

        Si tu regardes bien le shebang python3 se lance déjà :)
        J'ai quand même essayer python3 py.py et même erreur.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          27 mars 2011 à 20:25:46

          Chez moi ça fonctionne

          fred1599@fred1599-Aspire-5741G:~/Bureau$ python3 test.py
          Vous avez 1000 EUR , misez sur un nombre compris entre 0 et 49
          25
          Combien d'argent misez vous sur 25 ?
          100
          Vous avez perdu, vous perdez en conséquence votre mise
          Vous avez 900 EUR , misez sur un nombre compris entre 0 et 49


          tente avec un autre nom de fichier
          • Partager sur Facebook
          • Partager sur Twitter
            27 mars 2011 à 20:34:04

            Rien a faire. Tu as bien utilisés utf-8 ? ..

            Donc c'est bien un bug ?
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              27 mars 2011 à 20:37:20

              Oui j'ai utilisé utf8

              Tu as bien installé python3?

              sudo apt-get install python3
              • Partager sur Facebook
              • Partager sur Twitter
                27 mars 2011 à 21:24:05

                Je ne l'avais pas donc je l'ai installé (pourquoi la commande marchait alors?) et toujours la même erreur.
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  27 mars 2011 à 21:28:47

                  Si tu n'avais pas python3, tu ne pouvais pas exécuter un code compatible python3.

                  Par contre sur Ubuntu, python2.6 est normalement installé. Il doit exécuter ton fichier avec la version 2.x

                  N'oublie pas de mettre toujours le 3 derrière python

                  python3 tonfichier.py


                  Sinon il s'exécutera avec la version 2.x
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 mars 2011 à 21:48:06

                    question conne, ton fichier est bien encodé en utf-8 ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 mars 2011 à 21:51:18

                      Citation : minirop

                      question conne, ton fichier est bien encodé en utf-8 ?



                      Oui, c'est en effet la question qui se pose. En principe, avec IDLE, l'encodage par défaut sous Ubuntu est de l'utf-8 donc, que le PO essaye d'exécuter son fichier au sein de IDLE.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 mars 2011 à 23:21:00

                        > SyntaxError: (unicode error) 'utf8' codec can't decode byte 0xe9 in position 0: unexpected end of data

                        Signifie que tu n'as pas encodé ton fichier en utf8 dans ton éditeur de texte...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          28 mars 2011 à 17:45:28

                          Cela est apparus après un redémarrage .. Et comment s'assurer qu'il soit bien encodé en utf-8 ?

                          Sous mon fedora même erreur, et si je prend le code et que je recréé un autre fichier, encore la même erreur...
                          • Partager sur Facebook
                          • Partager sur Twitter
                            28 mars 2011 à 21:34:48

                            Citation : Pspgame

                            Et comment s'assurer qu'il soit bien encodé en utf-8 ?



                            Dépose ton fichier en ligne et on essayera.

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              28 mars 2011 à 22:15:50

                              Citation


                              Hébergé ici. (On a le droit a megaupload?)



                              Ton fichier est indisponible

                              • Partager sur Facebook
                              • Partager sur Twitter
                                28 mars 2011 à 22:42:39

                                Citation : Pspgame

                                (On a le droit a megaupload?)</lien>



                                Oui mais : attente + pub = lourd. La prochaine fois utilise plutôt dl.free ou un site google-sites.


                                Citation : Pspgame

                                Hébergé ici.




                                Ton fichier est codé en ISO 8859-15.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  29 mars 2011 à 2:45:47

                                  T'as qu'à utiliser emacs. C-x RET f utf-8 tqktqk.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    29 mars 2011 à 12:02:48

                                    Ah, ok merci.

                                    J'utilise scite pour programmer.
                                    Je vais essayer la commande mais comment faire pour qu'il utilise directement utf-8 et pas ISO machin
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      29 mars 2011 à 13:18:40

                                      Citation : Pspgame


                                      mais comment faire pour qu'il utilise directement utf-8 et pas ISO machin



                                      Faire simple :


                                      utiliser IDLE, gedit ou kate
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        29 mars 2011 à 15:11:53

                                        Citation : candide

                                        Citation : Pspgame


                                        mais comment faire pour qu'il utilise directement utf-8 et pas ISO machin



                                        Faire simple :


                                        utiliser IDLE, gedit ou kate

                                        Faire mieux :
                                        Utiliser emacs avec le python-mode (ouais, je me répète.)
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          29 mars 2011 à 18:48:21

                                          Citation : Maxibolt

                                          Citation : candide

                                          Citation : Pspgame


                                          mais comment faire pour qu'il utilise directement utf-8 et pas ISO machin



                                          Faire simple :


                                          utiliser IDLE, gedit ou kate


                                          Faire mieux :

                                          Utiliser emacs avec le python-mode (ouais, je me répète.)

                                          Remarque anodine:
                                          <troll>Emacs c'est sympa, mais c'est assez moche comme OS.
                                          En plus l'éditeur de texte inclus pue.</troll>
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          yjltg.
                                            29 mars 2011 à 18:50:21

                                            Citation : quelqun_dautre

                                            Citation : Maxibolt

                                            Citation : candide

                                            Citation : Pspgame


                                            mais comment faire pour qu'il utilise directement utf-8 et pas ISO machin



                                            Faire simple :


                                            utiliser IDLE, gedit ou kate


                                            Faire mieux :

                                            Utiliser emacs avec le python-mode (ouais, je me répète.)


                                            Remarque anodine:

                                            <troll>Emacs c'est sympa, mais c'est assez moche comme OS.
                                            En plus l'éditeur de texte inclus pue.</troll>

                                            Réponse anodine :
                                            C'est un peu court, jeune homme.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              29 mars 2011 à 19:56:07

                                              Je l'ai ouvert avec gedit..et ensuite ? Je n'ai rien trouvé a part mettre les couleurs pour python..
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                29 mars 2011 à 19:59:00

                                                Utilise emacs. Ou sinon, tu dois avoir un menu caché quelque part où tu choisis l'encodage de sortie.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  29 mars 2011 à 20:00:59

                                                  Citation : Pspgame

                                                  Je l'ai ouvert avec gedit..



                                                  Tu vas pour sauvegarder ton fichier et dans la fenêtre qui s'ouvre tu peux choisir l'encodage de sauvagarde.

                                                  Donc, je te renouvelle mon conseill mais avec une variante:

                                                  IDLE
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    29 mars 2011 à 20:05:17

                                                    AH ça y est, avec Kate.

                                                    Merci a tous :)

                                                    Je vais regarder IDLE quand même
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      29 mars 2011 à 21:07:25

                                                      Citation : Pspgame



                                                      Je vais regarder IDLE quand même




                                                      Contente-toi de lui et au moins tu feras un peu de Python ...
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        29 mars 2011 à 21:24:03

                                                        Contente-toi d'emacs et tu feras beaucoup de python :-°
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          29 mars 2011 à 21:37:26

                                                          La gueguerre des outils de dévellopements.

                                                          Pour la peine je vais prendre un autre, na.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            29 mars 2011 à 21:49:52

                                                            Oh tu sais, moi ça aura aucune incidence sur ma vie.
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            Erreur avec utf-8 et pas avec Latin-1

                                                            × 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