Partage
  • Partager sur Facebook
  • Partager sur Twitter

TP1 Annee bissextile

6 février 2013 à 10:54:58

Salut a tous. Je suis entrain de suivre le tuto sur python. Je suis entrain de faire le premier TP avec les annees bissextiles.

J ai encodé avec Notepad++ et quand j ai voulu ouvrir le programm avec Idle puis run il me dit sa:

expected an indented block.

Sa veut dire quoi?

Voici le code:

# -*-coding:Utf-8 -*
import os
annee = input("Saisissez une année")
annee = int(annee)
bissextile = False
if annee % 400 ==0:
bissextile = True
if annee % 100 ==0:
bissextile = True
if annee % 4 ==0:
bissextile = True
else:
bissextile = False
if bissextile:
 print("L année saisie est bissextile.")
 else:
 print("L année saisie n est pas bissextile.")
 os.system("pause")

bien a vous damien

  • Partager sur Facebook
  • Partager sur Twitter
6 février 2013 à 10:58:43

Ça veut dire que le code à l'intérieur des blocs ifdoit être indenté.

PS : os.system("pause") = caca input("Appuyez sur ENTREE pour continuer...") = beauuuuucoup mieux

-
Edité par nohar 6 février 2013 à 10:59:42

  • Partager sur Facebook
  • Partager sur Twitter
Zeste de Savoir, le site qui en a dans le citron !
6 février 2013 à 11:02:53

donc le TP est faut car input("Appuyez...") n est pas marque dans le TP

Damien

  • Partager sur Facebook
  • Partager sur Twitter
6 février 2013 à 11:12:06

Correction : le TP montre une technique "qui marche" sous Windows, mais qui est dangereuse (c'est une potentielle faille de sécurité), sale (exécuter un programme externe juste pour attendre ? SRSLY ?!) et pas portable (ça ne fonctionne QUE sous Windows). D'une façon générale, il faut toujours se méfier de ce qui commence par os.system().

Le code que je te montre en remplacement n'a aucun de ces inconvénients et fait la même chose tout aussi bien.

C'est pas faute d'avoir demandé à l'auteur de corriger son tutoriel, et ce à plusieurs reprises.

-
Edité par nohar 6 février 2013 à 11:19:33

  • Partager sur Facebook
  • Partager sur Twitter
Zeste de Savoir, le site qui en a dans le citron !
6 février 2013 à 11:15:53

Ah oui ok.

Bon bein je vais essayer de trouver un autre moyen lol

Merci

Damien

  • Partager sur Facebook
  • Partager sur Twitter
6 février 2013 à 11:37:12

# -*- coding: utf-8 -*-
from calendar import isleap as bissextile

annee = int(input("Saisissez une année : "))
if bissextile(annee):
    print("L'année", annee, "est bissextile.") 
else:
    print("L'année", annee, "n'est pas bissextile.") 

input("Appuyez sur la touche ENTREE pour continuer...")

-
Edité par nohar 6 février 2013 à 11:40:53

  • Partager sur Facebook
  • Partager sur Twitter
Zeste de Savoir, le site qui en a dans le citron !
6 février 2013 à 11:46:11

Ah oui,la sa fonctionne,mais sa na rien avoir avec le TP du Tutoriel,je veux dire pas la meme chose,mais ton code me plait  ;-)
  • Partager sur Facebook
  • Partager sur Twitter
6 février 2013 à 11:50:18

C'est normal que ça n'ait rien à voir avec le code du TP.

Il te montre un code de base pour calculer si une année est bissextile ou non, pour t'apprendre à programmer. C'est exactement ce qu'il doit te montrer à ce niveau du cours (à part le os.system(). Ça, il aurait pu s'abstenir…).

Ce qu'il ne t'apprend pas, en revanche, c'est à "tricher" en Python. Quand tu veux faire quelque chose qui semble "classique", tu as neuf chances sur dix que la bibliothèque standard de Python contienne déjà une fonction pour ça. Bien programmer en Python, c'est aussi savoir tricher à bon escient. ;)

-
Edité par nohar 6 février 2013 à 13:49:38

  • Partager sur Facebook
  • Partager sur Twitter
Zeste de Savoir, le site qui en a dans le citron !
6 février 2013 à 12:00:46

Ah oui ok

Merci pour les instructions.

os.system,j avai lu sa dans le chapitre pour enregistrer des fichiers ;-)

Bien a toi

Damien

  • Partager sur Facebook
  • Partager sur Twitter