IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[help]premier programme premier problème


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Pythonnerie
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Pythonnerie

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 3
    Points
    3
    Par défaut [help]premier programme premier problème
    Bonjour a tous !

    Je suis nouveau dans l'univers de la programmation totalement novice, et je viens de commencer un cour en vidéo et pourtant sa bloque et que j'ai fait bien toute les étape ses comment faire une application, quel est ton nom tu tape ton nom, et il te dit bonjour a toi appuyer sur entrée et sa quittera le cmd.

    donc j'ai un win7 64bit avec python 2.7.3 64bit installez dessus
    j'ai pris la vidéo si vous voulez voir mais pour moi tout est bon et pourtant quand je lance l'application le cmd s'ouvre mais se ferme directement. en cliquant beaucoup de fois j'ai pu voir marqué sintax error line2 et pour tant rien

    alors si un professionnel ou un amateur pourrait m'éclairer sa serait très gentille.

    voici la vidéo ou on peut voir le code en entier vers 9min 20 [ame]http://www.dailymotion.com/swf/video/xbk6oz_tech[/ame]

    et voici mon code:

    nom = raw_input('quel est ton nom? ')
    print 'Bonjour ' + nom + '!'
    raw_input('appuie sur <entrée> ...')

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 049
    Points : 1 380
    Points
    1 380
    Par défaut
    tu utilises idle ?
    si oui, en exécutant via F5, tu obtiens quoi ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Pythonnerie
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Pythonnerie

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    oui j'utilise IDLE
    merci de t'occuper de mon sujet ses sympa

    j’obtiens:

    Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>> ================================ RESTART ================================
    >>>
    quel est ton nom?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 049
    Points : 1 380
    Points
    1 380
    Par défaut
    donc il n'y a pas d'erreur ...
    si tu supprimes la ligne 2, que ce passe-t-il ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    J'ai fait le copie-colle de code, et j'ai eu droit a

    SyntaxError: Non-ASCII character '\xc3' in file ./first.py on line 4, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

    Sans doute il faudrait une ligne de genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    :# -*- coding: utf-8 -*-
    Ou iso-8859-9 ou un autre encodage approprie...

  6. #6
    Candidat au Club
    Homme Profil pro
    Pythonnerie
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Pythonnerie

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    quand je supprime la 2eme ligne, le code fait une fail

    mais par contre j'ai fait le test sur l'interface de commande IDLE en copiant 1 par 1 les ligne de code et sa répond bien aucune erreur, aucun problème de syntaxe mais quand je le lance en application cmd sa casse

    bon après tout ses pas sa qui vas me décourager je continue se tutoriel en vidéo du site le -0- je sais pas si on a le droit de cité certain site internet qui peut être en concurrence ?


    UPDATE: en lisant le message de EdGre et en mettant le fameux:
    # -*- coding: utf-8 -*-

    le cmd et rester allumer et le programme ses bien terminer donc dans l'affaire le code était juste mais c'était juste une histoire de UTF8 qui représente la grammaire française il me semble un codage français-latin comme pour les jeux vidéo est ce qu'il faudra cas chaque fois que je programme que je mette se code ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par rolling2010 Voir le message

    UPDATE: en lisant le message de EdGre et en mettant le fameux:
    # -*- coding: utf-8 -*-

    le cmd et rester allumer et le programme ses bien terminer donc dans l'affaire le code était juste mais c'était juste une histoire de UTF8 qui représente la grammaire française il me semble un codage français-latin comme pour les jeux vidéo est ce qu'il faudra cas chaque fois que je programme que je mette se code ?

    Je suppose qu'il y aurait des moyens pour configurer les variables environmentaux pour ne pas le faire chaque fois. Mais il vaudrait mieux ajouter la ligne sur le codage chaque fois pour la portabilité du code.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par EdGre Voir le message
    Je suppose qu'il y aurait des moyens pour configurer les variables environmentaux pour ne pas le faire chaque fois.
    En principe, la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    # -*- coding: utf-8 -*-
    indique l'encodage du fichier script Python.
    Elle sera utilisée par l'éditeur pour savoir comment "coder" le fichier qui contiendra le script et par l'interpréteur pour savoir comment le "lire" avant de l'interpréter.
    Le "défaut" est ASCII pour Python2 et utf-8 pour Python3.

    Mais il vaudrait mieux ajouter la ligne sur le codage chaque fois pour la portabilité du code.
    Ce qui est codé par l'éditeur n'est pas toujours cohérent avec ce qui doit être lu par l'interpréteur et çà change entre Python2 et Python3.
    Si vous ne voulez pas avoir de soucis de "portabilité", il faut s'efforcer à écrire ses scripts en ASCII et localiser (des messages d'erreurs ou du texte en français) avec gettext (Babel) à part.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Candidat au Club
    Homme Profil pro
    Pythonnerie
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Pythonnerie

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    merci wiztricks de cette information meme si pour l'instant je n'y comprend pas trop

    mais quand tu dit que pour python 2 faut marqué ASCII et pas UTF8 pourquoi utf8 marche alors ?

    et peut tu nous expliquer en détail cette phrase
    il faut s'efforcer à écrire ses scripts en ASCII et localiser (des messages d'erreurs ou du texte en français) avec gettext (Babel) à part.

    car étant débutant je conné pas du tout

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par rolling2010 Voir le message
    mais quand tu dit que pour python 2 faut marqué ASCII et pas UTF8 pourquoi utf8 marche alors ?
    Je parlais de l'encodage par defaut des scripts Python et de l'impossibilité de le changer sauf à ajouter "# -*- coding..."

    et peut tu nous expliquer en détail cette phrase
    il faut s'efforcer à écrire ses scripts en ASCII et localiser (des messages d'erreurs ou du texte en français) avec gettext (Babel) à part.
    Il s'agit de "portabilité".
    Si on écrit son script avec un IDE qui ne sait pas ce que signifie le "# -*- coding..." comment sera sauvegardé "accentué" par l'IDE? Comment le "é" sera affiché par le programme?
    Ca change d'IDE en IDE (sauf s'ils permettent de paramétrer autrement que via "# -*- coding..."), d'une version de Python à l'autre, et d'un OS (linux, Windows, OSX) à l'autre.
    Si on ne veut pas être embêté, on code en ASCII (pas de caractères accentuées dans ses scripts) et on traduit (localise) les messages dans toutes les langues en dehors du programme.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Candidat au Club
    Homme Profil pro
    Pythonnerie
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Pythonnerie

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    ok donc a chaque fois que j'écrirai des programme faudra que je marque:
    # -*- coding: ASCII -*-
    ? mais merci a tous de m'avoir aidez ses cool un forum qui a une bonne réactivité et qui est pas mort

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par rolling2010 Voir le message
    ok donc a chaque fois que j'écrirai des programme faudra que je marque:
    # -*- coding: ASCII -*-
    Hu?!?

    Si c'est l'encoding "par défaut" pourquoi préciser?
    Par contre, ASCII signifie "éviter d'utiliser des caractères accentués" (dans les scripts). Si vous ne vous y appliquez pas, il faudra préciser le "coding" qui va bien.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Candidat au Club
    Homme Profil pro
    Pythonnerie
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Pythonnerie

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    oui effectivement dans le code il y a marqué a la fin appuyer sur ENTRÉE pour sortir et le entrée s'écrit entr&e ou un truc comme sa.
    comment savoir quel coding utiliser pour les accent ?

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par rolling2010 Voir le message
    oui effectivement dans le code il y a marqué a la fin appuyer sur ENTRÉE pour sortir et le entrée s'écrit entr&e ou un truc comme sa. comment savoir quel coding utiliser pour les accent ?
    La réponse à vos questions est dans la documentation. Il vous faudra du temps pour comprendre ce qui est écrit. En attendant, vos alternatives sont:
    • appliquer une recette sans la comprendre: elle vous a déjà été donnée,
    • éviter d'utiliser des accents (ASCII)
    • utiliser Python3.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #15
    Candidat au Club
    Homme Profil pro
    Pythonnerie
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Pythonnerie

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    effectivement les 3 objectif sont: appliquer une recette mais je suis pas d'accord sur sans la comprendre j'ai pris un bloc note que je garde sur moi je note toute les définition et j'essaye de traduire les code comme si je lisé quelque chose de compréhensible et sa marche plus tôt bien

    évitez les accent je suis d'accord

    et pourquoi python 3 et pas le 2 ? il y a beaucoup de gens qui dise que python 3 n'est pas encore très complet et que le 2 et plus stable donc pour l'instant je reste sur le 2 et il ont coupé pas mal de code comme "raw_input" par "input" donc certes ses simplifier mais il ont du le faire avec pas mal d'autre phrases :/

    donc je reste sur le 2 qui me parait une bonne bases pour commencer et stable

    mais merci WIZ pour toute ses info

  16. #16
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    il y a beaucoup de gens qui dise que python 3 n'est pas encore très complet et que le 2 et plus stable
    Ça c'était dans les balbutiements de la version 3.x, maintenant la plupart des modules importants, voir tous se sont mis à jour.

    Vous viendrez à la version 3 un jour, pourquoi ne pas vous y mettre tout de suite en tant que débutant, plutôt que d'adapter vos codes plus tard?

    La version 3 vous simplifiera souvent la vie sur des problèmes découverts dans la version 2.

    Bonne continuation...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 290
    Points : 426
    Points
    426
    Par défaut
    Il y a 3 trucs à savoir, qui s'appliquent à tous les langages de programmation en général quand comme en France on a la chance d'avoir des caractères non ASCII.

    * Il faut connaitre l'encodage de son fichier source
    * Il faut connaitre l'encodage reconnu par l'interpréteur
    * Il faut connaitre l'encodage de ce qu'on veut générer en sortie (exemple, les fichiers)

    Il s'agit de concepts à séparer : vous pouvez très bien écrire un fichier en utilisant le jeu de caractères iso-8859-1 à partir d'un script encodé en utf-8.

    Bref, pour ne jamais se tromper en dans python 2 :

    * Encodez votre fichier en utf-8 via votre éditeur
    * Ecrivez la ligne #-*- coding: utf-8 -*- en début de fichier ou juste après le shebang pour informer l'interpréteur que l'encodage du fichier est bien utf-8
    * Préfixez vos chaiînes de caractères littérales par u (exemple : toto = u"cassé") pour qu'elles soient considérées comme des objets unicode et non str.

    Si vous devez écrire des fichiers texte, utilisez le module codecs (confer la doc) qui vous permet de préciser l'encodage des fichiers lus / écrits.

    Dernière chose M. rolling2010, merci de vous relire avant de poster c'est assez désagréable de lire vos messages. Ou précisez l'encodage de façon explicite.

  18. #18
    Candidat au Club
    Homme Profil pro
    Pythonnerie
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Pythonnerie

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    bonjour tout le monde !

    fred1599 merci pour cette information car j' avait un doute entre python 2 et 3 est ce qu'il y a une différence entre le 32bit et le 64bit.(je connais ma version win7 64bit) mais des fois sur les version 64bit il y a certain problème qu'on a pas sur le 32bit.

    Drawingrom j'ai bien lu votre message et même si il est vrai que certaine de mes explication sont parfois tordu ou peut compréhensible j'en suis désolé car je suis un pur novice je sais pas des fois comment l'expliquer tout simplement :/

    j'avance dans cette langue mais certaine phrase sont des fois très dur a comprendre :/

    donc bon d’après fred1599 je vais réinstallez python 3

    est ce que le système de coding et toujours utf-8 sur python 3 ?
    et si j'ai bien compris a chaque fois qu'il y aura un é-è-à avec des accent je met devant u" ?

    merci pour vos réponse

  19. #19
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    est ce que le système de coding et toujours utf-8 sur python 3 ?
    et si j'ai bien compris a chaque fois qu'il y aura un é-è-à avec des accent je met devant u" ?
    Depuis python 3, les chaînes de caractères sont encodés par défaut en unicode
    utf8 est par défaut aussi
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  20. #20
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Relisez la bannière que vous avez posté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
    32bits, 64bits, Python2, Python3,... auront toujours des avantages / inconvénients pour un professionnel.
    Vous, vous êtes un débutant. Vous ne savez pas trop pourquoi vous avez installé un Python2.7x64bits. Mais vous l'avez déjà fait, pourquoi changer?
    Prenez le temps d'apprendre avec un bon tuto.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Problème premier programme HelloWorld
    Par mugi21 dans le forum Android
    Réponses: 4
    Dernier message: 18/09/2013, 15h13
  2. problème premier programme avec python
    Par adolphemartins dans le forum Général Python
    Réponses: 3
    Dernier message: 04/12/2011, 12h45
  3. [Windows 7 64bits] Problème "premier programme"
    Par titourock dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 08/07/2010, 14h26
  4. [PERL]problème avec mon premier programme
    Par lucifer01 dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 07/04/2009, 18h38
  5. Mon premier programme en MFC: Problème de 8 reines
    Par Dũng chim dans le forum MFC
    Réponses: 0
    Dernier message: 16/12/2008, 15h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo