# -*-coding:Latin-1 -* #permet d'afficher les accents (latin-1)
import os # on importe le module os qui dispose de variables et de fonctions
# utiles pour dialoguer avec votre système d'exploitation
# programme testant si une année, entrée par l'utilisateur,
# est bissextile ou non
print("Entrez une année :")
annee = input() # on attend que l'utilisateur entre l'année qu'il désire tester
annee = int(annee) # risque d'erreur si l'utilisateur n'a pas rentré un nombre
# si l'année est bissextile ou non
if annee%400==0 or (annee%4==0 and annee%100!=0):
print("L'année entrée est bissextile.")
else:
print("L'année entrée n'est pas bissextile.")
# on met le programme en pause pour éviter qu'il ne se referme (Windows)
os.system("pause")
version:
python-2.7.2.amd64
j'ai essayé une autre version sur un autre pc, même résultat
Cherche plus Ta version ne supporte pas ce code car ce code en l'occurence est prévu pour fonctionner en version 3.x
# -*-coding:Latin-1 -* #permet d'afficher les accents (latin-1)
import os # on importe le module os qui dispose de variables et de fonctions
# utiles pour dialoguer avec votre système d'exploitation
# programme testant si une année, entrée par l'utilisateur,
# est bissextile ou non
print "Entrez une année :"
annee = raw_input() # on attend que l'utilisateur entre l'année qu'il désire tester
annee = int(annee) # risque d'erreur si l'utilisateur n'a pas rentré un nombre
# si l'année est bissextile ou non
if annee%400==0 or (annee%4==0 and annee%100!=0):
print "L'année entrée est bissextile."
else:
print "L'année entrée n'est pas bissextile."
# on met le programme en pause pour éviter qu'il ne se referme (Windows)
os.system("pause")
Bon, je sens que je vais me faire taper sur les doigts, je viens de telecharger la version 3.2.2 en prenant soin de desinstaller la version précédente et j'ai toujours le même problème
Je ne connais pas windows suffisamment en ce qui concerne python, mais je peux te dire que c'est pas une histoire de code ni de version maintenant, c'est juste un problème d'exécution de ton programme.
Essai en faisant "ouvrir avec" ou un truc de ce genre et de bien spécifier que c'est python 3 avec lequel tu veux ouvrir ce fichier.
Au pire, juste faire from os import system serait déjà moins lourd.
Dans l'absolu, oui, mais dans ce cas précis, il vaut mieux expliquer tout de suite au PO que :
* la fonction system est dangereuse, et à éviter d'utiliser à tout prix quand c'est possible (d'où l'utilisation de input)
* faire un appel système à pause sous windows pour mettre le programme en pause à la fin de l'exécution est une pratique sale et non portable.
Au pire, juste faire from os import system serait déjà moins lourd.
Dans l'absolu, oui, mais dans ce cas précis, il vaut mieux expliquer tout de suite au PO que :
* la fonction system est dangereuse, et à éviter d'utiliser à tout prix quand c'est possible (d'où l'utilisation de input)
* faire un appel système à pause sous windows pour mettre le programme en pause à la fin de l'exécution est une pratique sale et non portable.
Oui, c'est certain, mais je voulais uniquement évoquer le fait que tant qu'à utiliser system aussi bien ne pas importer tout le module.
Je fais le tuto du site et j'ai même copié/collé le code du tuto et c'est pareil...
Ce que propose le tuto n'est pas une bonne solution. Si tu veux lancer un fichier python sous Windows, faut pas double-cliquer dessus, il faut
-- l'ouvrir et l'exécuter dans IDLE (léditeur "officiel" de Python et que je te recommande si tu es débutant et que je te recommande encore plus si tu es débutant en programmation),
-- ou bien, si tu n'es pas allergique à ça, l'exécuter dans une console.
Le double-clic, c'est bon pour les programmes en mode graphique qui sont gérés par une boucle événementielle.
bonsoir a vous j'utilise python 3.4 et avec pycharm sous linux et "os.system("pause")" ne marche pas j'ai importer le module os et ca marche toujour pa que faire?
VRaiment dsl de déterrer le sujet mais je suis sous windows 10 et j'utilise la version 3.72 de python et le message d'erreur est bizarre, pouvez vous m'aider plz
Il manque une parenthèse fermante, mais je vois pas le rapport avec le texte d'origine.
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)
Quand tu importes explicitement la fonction système du module os, tu peux dois appeler system() directement, pas os.system() sinon ça va planter.
Comme évoqué sur le sujet auquel tu répond, tu peux éviter d'utiliser os.system("pause") alors que input() fait la même chose en plus portable et sans avoir besoin d'importer le module os.
L'import avec l'astérisque est aussi à éviter à cause de conflits de noms possibles.
Cependant ce n'est pas l'erreur signalé, s'en est une autre, je tiens à préciser juste pour que le PO sache que les deux propositions sont à prendre en comptes.
L'erreur signalé par @LoupSolitaire serait du type,
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'os' is not defined
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)
× 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.
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)
Blond, bouclé, toujours le sourire aux lèvres...
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)