Problème programmation python

Résolu
>>> annee=input("Saisis une année:")
Saisis une année:2016
>>> annee=int(2016)
>>> if annee%400==0 or (annee%4==0 and annee%100!=0):
... print("L'année est bissextile.")
... else:
... print("L'année n'est pas bissextile.")
... os.system("pause")
File "<stdin>", line 5
os.system("pause")
^
SyntaxError: invalid syntax
>>> annee=input("Saisis une année:")
Saisis une année:2016
>>> annee=int(2016)
>>> if annee%400==0 or (annee%4==0 and annee%100!=0):
... print("L'année est bissextile.")
... else:
... print("L'année n'est pas bissextile.")
...
L'année est bissextile.
>>> os.system("pause")
Appuyez sur une touche pour continuer...

Bon, quand j'ouvre le fichier, python fait le calcul et se referme tout de suite...
Quelqu'un peut me dire où est le problème?
merci.

2 réponses

  1. "quand j'ouvre le fichier, python fait le calcul et se referme tout de suite."

    Tu parles de fichier mais apparememnt tu fais toutes tes manips dans l'interpreteur

    File "<stdin>", line 5
    os.system("pause")
    ^
    SyntaxError: invalid syntax


    Tu as fait ton

    import os


    ?
    1. Note: même dans un fichier c'est l'interpréteur qui est exécuté. Tout se passe exactement de la même façon si l'entrée de l'interpréteur est un fichier ou stdin, python ne fait pas la différence.

      Il est vrai que lorsque c'est stdin comme c'est visiblement le cas, aucun fichier n'est ouvert...
    2. Oui, pas de différence dans l'interpretation des lignes mais quand on lance un fichier ( python fichier.py) il n'y a pas tous les ">>>" "..." qui s'affichent, uniquement le contenu des print/erreurs. C'est ce qui m'intriguait ici, TP2000 parlait de fichier mais lance apparement tout en "live"
    3. @paly2D'accord, merci de la réponse. Je viens de commencer en programmation et j'y connais encore rien...
  2. L'interpréteur python se ferme parce qu'il n'a plus rien à faire. Si tu veux qu'il reste ouvert, il faut bloquer le programme à la fin (par exemple avec un input()).

    Je te déconseille largement le os.system("pause") parce qu'il n'est pas portable. De plus, pour qu'il fonctionne, il faut que le module os soit importé.

    La curiosité est une excellente qualité !
    1. Ok merci.