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 :

boucle infinie que je comprends pas


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 4
    Points
    4
    Par défaut boucle infinie que je comprends pas
    J'ai commencé à apprendre python hier et je ne comprends ps où peut-être mon erreur dans le bout de code suivant,
    quand je lance, ça me fait une boucle infinie...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    year=input("entrer une année") 
    year=int(year) 
     
    while year < 2040:
    	if year % 4 == 0 and year % 100 != 0:
    		print("this", year,"is bisex")
    	else:
    		print()
    else:
    	print()
    merci

  2. #2
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 654
    Points : 1 150
    Points
    1 150
    Par défaut
    Salut,

    Si ton indentation est voulue, alors il y a une mauvaise comprehension de la boucle while. While signifie "tant que". Il n'y a donc pas par nature de "sinon" (else). Si tu souhaite sortir d'une boucle while tu as deux façons, soit tu ne satisfait plus la condition (dans ton cas year<2040) soit tu force la sortie en plaçant un "break", qui comme son nom l'indique "casse" la boucle.

    Bref, si tu veux que quelqu'un cherche une année bissextile il te faut plutôt faire quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while True:
        year = input("Entrer une annee") 
        year = int(year) 
        if year % 4 == 0 and year % 100 != 0:
            print("this", year," is bisex")
            break
    Si tu souhaites rajouter des conditions sur l'année, par exemple inférieure à 2040, tu peux ajouter un autre "if" avec un break.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while True:
        year = input("Entrer une année") 
        year = int(year) 
        if year > 2040:
            break
        if year % 4 == 0 and year % 100 != 0:
            print("this", year," is bisex")
            break
    Mais c'est peut-être pas là où tu voulais en venir.

    J

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Points : 2 740
    Points
    2 740
    Par défaut
    Salut,

    c'est pas une fonctionalité qu'on retrouve souvent dans un langage, mais en python, on peut bien avoir un else après une boucle.
    la clause else est exécutée si la boucle s'est terminée "normalement", c'est à dire autrement que par une instruction break.

    ça peut avoir son utilité des fois.


    ne sachant pas réellement ce que tu veux faire lamwat, c'est difficile de te donner une solution mais on peut au moins t'expliquer pourquoi ça boucle indéfiniment.
    ta boucle while tourne tant que la variables year est strictement inférieure à 2040. hors le seul endroit ou tu donnes une valeur à year se trouve avant la boucle et cette variable ne change plus de valeur après.
    donc...
    • soit tu entres une année supérieure ou égale à 2040 et tu ne rentres jamais dans la boucle
    • soit tu entres une année inférieure à 2040, tu entres dans la boucle et tu n'en ressors jamais car year ne changeant jamais de valeur, le résultat du test de ta boucle ne risque pas de changer

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Tryph Voir le message
    Salut,

    c'est pas une fonctionalité qu'on retrouve souvent dans un langage, mais en python, on peut bien avoir un else après une boucle.
    la clause else est exécutée si la boucle s'est terminée "normalement", c'est à dire autrement que par une instruction break.

    ça peut avoir son utilité des fois.


    ne sachant pas réellement ce que tu veux faire lamwat, c'est difficile de te donner une solution mais on peut au moins t'expliquer pourquoi ça boucle indéfiniment.
    ta boucle while tourne tant que la variables year est strictement inférieure à 2040. hors le seul endroit ou tu donnes une valeur à year se trouve avant la boucle et cette variable ne change plus de valeur après.
    donc...
    • soit tu entres une année supérieure ou égale à 2040 et tu ne rentres jamais dans la boucle
    • soit tu entres une année inférieure à 2040, tu entres dans la boucle et tu n'en ressors jamais car year ne changeant jamais de valeur, le résultat du test de ta boucle ne risque pas de changer
    j'ai vu çà dans les cours que j'ai commencé hier soir... donc je rajoute un système de year+1 pour forcer la boucle à augmenter la valeur de year à chaque répétition et ça devrait marcher.

    Est ce que sur Python on peut ajouter une annexe à la bouche pour qu'elle cesse d'elle même après un certains temps, peu importe le résultat ?

    Le petit programme que je souhaite réaliser devrait lister les années bissextiles jusqu'à 2040 et ce à partir d'une année précisée par l'utilisateur (input). Y'a pas d'utilité en soi au logiciel, seulement d'apprendre.

    merci beaucoup pour la correction

  5. #5
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 654
    Points : 1 150
    Points
    1 150
    Par défaut
    Citation Envoyé par Tryph Voir le message
    Salut,

    c'est pas une fonctionalité qu'on retrouve souvent dans un langage, mais en python, on peut bien avoir un else après une boucle.
    la clause else est exécutée si la boucle s'est terminée "normalement", c'est à dire autrement que par une instruction break
    Honte sur moi, je ne l'avais jamais rencontré et j'en avais déduit que ça n'existais pas (d'autant plus que ça me paraissait totalement normal). Maintenant je vois quelques cas de figures où cette feature peut être utile.

    Merci Tryph!


    J

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Points : 2 740
    Points
    2 740
    Par défaut
    Citation Envoyé par Julien N Voir le message
    Honte sur moi, je ne l'avais jamais rencontré et j'en avais déduit que ça n'existais pas (d'autant plus que ça me paraissait totalement normal). Maintenant je vois quelques cas de figures où cette feature peut être utile.

    Merci Tryph!
    y a pas de honte à avoir. python est le seul langage que je connais qui permet ça et du coup on s'attend pas forcément à avoir une telle fonctionalité à disposition.


    Citation Envoyé par lamwat Voir le message
    j'ai vu çà dans les cours que j'ai commencé hier soir... donc je rajoute un système de year+1 pour forcer la boucle à augmenter la valeur de year à chaque répétition et ça devrait marcher.
    ça devrait effectivement marcher

    Citation Envoyé par lamwat Voir le message
    Est ce que sur Python on peut ajouter une annexe à la bouche pour qu'elle cesse d'elle même après un certains temps, peu importe le résultat ?
    si tu veux être certain que ta boucle finira par se terminer, tu peux utiliser une boucle for au lieu d'une boucle while.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    je viens de découvrir def du coup je l'utilise et je suis arrivé à çà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    >>> def bissex(year, max=2040):
          year=int(year)  
          if year % 4 == 0 and year % 100 != 0: # Si year est divisible par 4 et non par 100
                      print("this", year + 1,"is bissex") # Afficher this year is bisex
                      year += 1 # Incrémente la variable year de 1
          else:
                      print("nothing to show1")
     
     
    >>> bissex(2030)
    nothing to show1
    >>> bissex(2020)
    this 2021 is bissex
    >>> bissex(2009)
    nothing to show1
    >>> bissex(2011)
    nothing to show1
    >>>
    ça fonctionne presque sauf que la boucle ne continue pas (sic) et je n'obtiens pas de liste d'années bissextiles. Je vais aller voir for mais je n'ai pas tout à fait compris comment je pouvais l'utiliser dans mon cas.

  8. #8
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Points : 2 740
    Points
    2 740
    Par défaut
    Citation Envoyé par lamwat Voir le message
    ça fonctionne presque sauf que la boucle ne continue pas (sic) et je n'obtiens pas de liste d'années bissextiles.
    bah en fait il n'y plus de boucle dans le code que tu as copié là.
    def te permet de définir une fonction et c'est une bonne pratique de faire des fonctions, mais tu as oublié d'y recopier ta boucle

    Citation Envoyé par lamwat Voir le message
    Je vais aller voir for mais je n'ai pas tout à fait compris comment je pouvais l'utiliser dans mon cas.
    ce qui laisse perplexe c'est peut être que la boucle for fonctionne en parcourant une liste.
    si c'est ça, tu sera probablement interessé par la fonction range() et sa cousine xrange().
    les 2 renvoient une "liste" d'entiers et s'utilisent exactement de la même façon. la différence est que la première renvoie une liste entière et que la deuxième renvoie un itérateur. dans la plupart des cas, on obtient exactement la même chose.
    il est recommandé d'utiliser xrange() partout ou il n'est pas indispensable d'utiliser range(). mais si tu ne comprends pas la différence entre les 2 et que tu veux être sûr de ne pas avoir de problème à cause de subtilités, tu peux te contenter de range().

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    \o/ ça fonctionne !

    En fait, il fallait que j'enferme "if" et "else" entre "while" et l'incrémentation "year += 1" pour que la bouche se réalise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    >>> def bissex(year, max=2041): # nom de la fonction + valeur max
          year=int(year) # year est un entier
          while year < 2041: # la boucle
                if year % 4 == 0 and year % 100 != 0: # Si year est divisible par 4 et non par 100
                            print("this", year,"is bissextile") # Afficher this year is bisex
     
                else:
                      print("this", year,"is not bissextile")
                year += 1 # Incrémente la variable year de 1
     
     
    >>> bissex(2011)
    this 2011 is not bissextile
    this 2012 is bissextile
    this 2013 is not bissextile
    this 2014 is not bissextile
    this 2015 is not bissextile
    this 2016 is bissextile
    this 2017 is not bissextile
    this 2018 is not bissextile
    this 2019 is not bissextile
    this 2020 is bissextile
    this 2021 is not bissextile
    this 2022 is not bissextile
    this 2023 is not bissextile
    this 2024 is bissextile
    this 2025 is not bissextile
    this 2026 is not bissextile
    this 2027 is not bissextile
    this 2028 is bissextile
    this 2029 is not bissextile
    this 2030 is not bissextile
    this 2031 is not bissextile
    this 2032 is bissextile
    this 2033 is not bissextile
    this 2034 is not bissextile
    this 2035 is not bissextile
    this 2036 is bissextile
    this 2037 is not bissextile
    this 2038 is not bissextile
    this 2039 is not bissextile
    this 2040 is bissextile
    Je vais m'en servir pour continuer le cours que je suis où des exemples ne fonctionnent pas et me mettre à la modularité pour peut-être affiner l'affichage (sous forme de tableau ou de liste séparée)...

    Merci Tryph et Julien N

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    truc étrange...

    mon programme fonctionne dans le shell mais quand je le lance via le terminal ou via python launcher ça ne fonctionne pas


  11. #11
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Points : 2 740
    Points
    2 740
    Par défaut
    question con, mais on sait jamais: t'as pas copié les chevrons (>>>) dans ton fichier au moins?

    sinon d'autres piste:
    as-tu mis la shabang adéquat au début de ton fichier pour qu'il soit bien interprété par Python? (#! /bin/python)
    si tu lance ton script avec la commande python ./Untitled.py, il se passe quoi?

    à la limite colle nous le contenu du fichier ici pour voir...

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 4
    Points
    4
    Par défaut


    capture de smultron

  13. #13
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Points : 2 740
    Points
    2 740
    Par défaut
    ok en fait faut voir dans les "autres pistes" que j'ai rajouté après avoir édité mon message

    si tu lances l'interpreteur python avec ton script en paramètre ou si tu rajoutes la shabang en début de fichier pour indiquer que ce script doit être lancé avec python, ça devrait rouler

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    euh...

    nouveau code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #! /bin/python
     
    def bissex(year, max=2041): # nom de la fonction + valeur max
          year=int(year) # year est un entier
          while year < 2041: # la boucle
                if year % 4 == 0 and year % 100 != 0: # Si year est divisible par 4 et non par 100
                            print("this", year,"is bissextile") # Afficher this year is bisex
     
                else:
                      print("this", year,"is not bissextile")
                year += 1 # Incremente la variable year de 1
    dans la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mbp-de-admin:dev:python admin$ python ./Untitled.py
    mbp-de-admin:dev:python admin$ ./Untitled.py
    -bash: ./Untitled.py: /bin/python: bad interpreter: No such file or directory
    mbp-de-admin:dev:python admin$
    et je viens de vérifier, j'ai pas python dans /bin/ sur mon mac...

  15. #15
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Points : 2 740
    Points
    2 740
    Par défaut
    j'ai pas précisé car je pensais que c'était évident, mais faut bien entendu mettre le chemin vers son interpréteur python au lieu de "/bin/python"
    je viens de vérifier, chez moi c'est /usr/bin/python en fait...

    j'ai jamais utilisé un Mac mais comme c'est une base Unix, tu as peut être la commande whereis. du coup en tapant la commande whereis python, tu devrais être en mesure de savoir ou il est.
    sinon, faudra trouver ou est l'interpreteur Python d'une autre façon et mettre son chemin complet après le #!

  16. #16
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    j'ai créé des liens symboliques dans /bin et j'obtiens une nouvelle erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mbp-de-admin:~ admin$ cd '/Users/admin/Documents/dev_python/' && '/usr/local/bin/pythonw' -d -v  '/Users/admin/Documents/dev_python/Untitled.py'  && echo Exit status: $? && exit 1
    -bash: /usr/local/bin/pythonw: No such file or directory
    mbp-de-admin:dev_python admin$
    or dans /usr/local/bin j'avais bien un lien symbolique "pythonw" que j'ai du coup remplacé par un autre lien symbolique que je suis allé crée avec à partir de usr/bin/pythonw et j'obtiens tout ce bazar auquel je ne comprends rien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    mbp-de-admin:dev_python admin$ cd '/Users/admin/Documents/dev_python/' && '/usr/local/bin/pythonw' -d -v  '/Users/admin/Documents/dev_python/Untitled.py'  && echo Exit status: $? && exit 1
    # installing zipimport hook
    import zipimport # builtin
    # installed zipimport hook
    # /usr/lib/python2.7/site.pyc has bad mtime
    import site # from /usr/lib/python2.7/site.py
    # can't create /usr/lib/python2.7/site.pyc
    # /usr/lib/python2.7/os.pyc has bad mtime
    import os # from /usr/lib/python2.7/os.py
    # can't create /usr/lib/python2.7/os.pyc
    import errno # builtin
    import posix # builtin
    # /usr/lib/python2.7/posixpath.pyc has bad mtime
    import posixpath # from /usr/lib/python2.7/posixpath.py
    # can't create /usr/lib/python2.7/posixpath.pyc
    # /usr/lib/python2.7/stat.pyc has bad mtime
    import stat # from /usr/lib/python2.7/stat.py
    # can't create /usr/lib/python2.7/stat.pyc
    # /usr/lib/python2.7/genericpath.pyc has bad mtime
    import genericpath # from /usr/lib/python2.7/genericpath.py
    # can't create /usr/lib/python2.7/genericpath.pyc
    # /usr/lib/python2.7/warnings.pyc has bad mtime
    import warnings # from /usr/lib/python2.7/warnings.py
    # can't create /usr/lib/python2.7/warnings.pyc
    # /usr/lib/python2.7/linecache.pyc has bad mtime
    import linecache # from /usr/lib/python2.7/linecache.py
    # can't create /usr/lib/python2.7/linecache.pyc
    # /usr/lib/python2.7/types.pyc has bad mtime
    import types # from /usr/lib/python2.7/types.py
    # can't create /usr/lib/python2.7/types.pyc
    # /usr/lib/python2.7/UserDict.pyc has bad mtime
    import UserDict # from /usr/lib/python2.7/UserDict.py
    # can't create /usr/lib/python2.7/UserDict.pyc
    # /usr/lib/python2.7/_abcoll.pyc has bad mtime
    import _abcoll # from /usr/lib/python2.7/_abcoll.py
    # can't create /usr/lib/python2.7/_abcoll.pyc
    # /usr/lib/python2.7/abc.pyc has bad mtime
    import abc # from /usr/lib/python2.7/abc.py
    # can't create /usr/lib/python2.7/abc.pyc
    # /usr/lib/python2.7/_weakrefset.pyc has bad mtime
    import _weakrefset # from /usr/lib/python2.7/_weakrefset.py
    # can't create /usr/lib/python2.7/_weakrefset.pyc
    import _weakref # builtin
    # /usr/lib/python2.7/copy_reg.pyc has bad mtime
    import copy_reg # from /usr/lib/python2.7/copy_reg.py
    # can't create /usr/lib/python2.7/copy_reg.pyc
    # /usr/lib/python2.7/traceback.pyc has bad mtime
    import traceback # from /usr/lib/python2.7/traceback.py
    # can't create /usr/lib/python2.7/traceback.pyc
    # /usr/lib/python2.7/sysconfig.pyc has bad mtime
    import sysconfig # from /usr/lib/python2.7/sysconfig.py
    # can't create /usr/lib/python2.7/sysconfig.pyc
    # /usr/lib/python2.7/re.pyc has bad mtime
    import re # from /usr/lib/python2.7/re.py
    # can't create /usr/lib/python2.7/re.pyc
    # /usr/lib/python2.7/sre_compile.pyc has bad mtime
    import sre_compile # from /usr/lib/python2.7/sre_compile.py
    # can't create /usr/lib/python2.7/sre_compile.pyc
    import _sre # builtin
    # /usr/lib/python2.7/sre_parse.pyc has bad mtime
    import sre_parse # from /usr/lib/python2.7/sre_parse.py
    # can't create /usr/lib/python2.7/sre_parse.pyc
    # /usr/lib/python2.7/sre_constants.pyc has bad mtime
    import sre_constants # from /usr/lib/python2.7/sre_constants.py
    # can't create /usr/lib/python2.7/sre_constants.pyc
    # /usr/lib/python2.7/_sysconfigdata.pyc has bad mtime
    import _sysconfigdata # from /usr/lib/python2.7/_sysconfigdata.py
    # can't create /usr/lib/python2.7/_sysconfigdata.pyc
    # /usr/lib/python2.7/_osx_support.pyc has bad mtime
    import _osx_support # from /usr/lib/python2.7/_osx_support.py
    # can't create /usr/lib/python2.7/_osx_support.pyc
    import encodings # directory /usr/lib/python2.7/encodings
    # /usr/lib/python2.7/encodings/__init__.pyc has bad mtime
    import encodings # from /usr/lib/python2.7/encodings/__init__.py
    # can't create /usr/lib/python2.7/encodings/__init__.pyc
    # /usr/lib/python2.7/codecs.pyc has bad mtime
    import codecs # from /usr/lib/python2.7/codecs.py
    # can't create /usr/lib/python2.7/codecs.pyc
    import _codecs # builtin
    # /usr/lib/python2.7/encodings/aliases.pyc has bad mtime
    import encodings.aliases # from /usr/lib/python2.7/encodings/aliases.py
    # can't create /usr/lib/python2.7/encodings/aliases.pyc
    # /usr/lib/python2.7/encodings/utf_8.pyc has bad mtime
    import encodings.utf_8 # from /usr/lib/python2.7/encodings/utf_8.py
    # can't create /usr/lib/python2.7/encodings/utf_8.pyc
    Python 2.7.5 (default, Aug 25 2013, 00:04:04) 
    [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    # clear __builtin__._
    # clear sys.path
    # clear sys.argv
    # clear sys.ps1
    # clear sys.ps2
    # clear sys.exitfunc
    # clear sys.exc_type
    # clear sys.exc_value
    # clear sys.exc_traceback
    # clear sys.last_type
    # clear sys.last_value
    # clear sys.last_traceback
    # clear sys.path_hooks
    # clear sys.path_importer_cache
    # clear sys.meta_path
    # clear sys.flags
    # clear sys.float_info
    # restore sys.stdin
    # restore sys.stdout
    # restore sys.stderr
    # cleanup __main__
    # cleanup[1] encodings
    # cleanup[1] site
    # cleanup[1] sysconfig
    # cleanup[1] abc
    # cleanup[1] _weakrefset
    # cleanup[1] sre_constants
    # cleanup[1] _codecs
    # cleanup[1] _warnings
    # cleanup[1] zipimport
    # cleanup[1] _sysconfigdata
    # cleanup[1] encodings.utf_8
    # cleanup[1] _osx_support
    # cleanup[1] codecs
    # cleanup[1] signal
    # cleanup[1] traceback
    # cleanup[1] posix
    # cleanup[1] encodings.aliases
    # cleanup[1] exceptions
    # cleanup[1] _weakref
    # cleanup[1] re
    # cleanup[1] sre_compile
    # cleanup[1] _sre
    # cleanup[1] sre_parse
    # cleanup[2] copy_reg
    # cleanup[2] posixpath
    # cleanup[2] errno
    # cleanup[2] _abcoll
    # cleanup[2] types
    # cleanup[2] genericpath
    # cleanup[2] stat
    # cleanup[2] warnings
    # cleanup[2] UserDict
    # cleanup[2] os.path
    # cleanup[2] linecache
    # cleanup[2] os
    # cleanup sys
    # cleanup __builtin__
    # cleanup ints: 20 unfreed ints
    # cleanup floats
    Exit status: 0
    logout
     
    [Opération terminée]

  17. #17
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Points : 2 740
    Points
    2 740
    Par défaut
    oula...
    aucune idée à propos de ce que tout ce charabia signifie

    t'as pas simplement la commande python (sans le w final)?
    si tu l'as, que donne la commande whereis python?

  18. #18
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Si bien sur,

    ce que j'ai mis au dessus, c'était le résultat quand j'utilise Python Launcher,

    quand j'utilise Python dans le terminal, j'ai ce très maigre résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    mbp-de-admin:~ admin$ cd '/Users/admin/Documents/dev_python/'
    mbp-de-admin:dev_python admin$ ./Untitled.py
    mbp-de-admin:dev_python admin$ python ./Untitled.py
    mbp-de-admin:dev_python admin$

  19. #19
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 553
    Points : 2 740
    Points
    2 740
    Par défaut
    en fait c'est normal...
    je pense que tu as du oublier d'appeler ta fonction à la fin de ton script.

    un petit bissex(2014) (par exemple) à la fin de ton script devrait régler le problème

  20. #20
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mbp-de-admin:dev_python admin$ ./Untitled.py
    mbp-de-admin:dev_python admin$ python ./Untitled.py
    mbp-de-admin:dev_python admin$ bissex(2014)
    -bash: syntax error near unexpected token `2014'
    ...

    est ce que ça ne peut pas venir du fait que usr/bin/python soit en version 2 alors que j'apprends la version 3 ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Diff IE7 et Firefox que je comprends pas
    Par syl2042 dans le forum Mise en page CSS
    Réponses: 15
    Dernier message: 20/09/2007, 10h35
  2. [FTP] Pb sur foreach que je comprend pas
    Par Shandler dans le forum Langage
    Réponses: 3
    Dernier message: 28/12/2006, 18h31
  3. Erreur que je comprends pas
    Par makohsarah dans le forum Langage
    Réponses: 1
    Dernier message: 30/08/2006, 18h14
  4. Petit truc tout simple que je comprend pas
    Par Olaf MENJI dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/11/2005, 16h56
  5. Réponses: 13
    Dernier message: 27/06/2005, 14h36

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