Oui, majeur est aussi une variable à laquelle tu assignes une valeur booléenne.
Le booléen est un type de données, tout comme le sont les nombres, les chaînes de caractères ou les listes.
As-tu compris le concept de conditions ?
Tu n'exécutes les lignes indentés sous un bloc conditionnel uniquement si la condition testée est vraie.
Les lignes en dehors sont exécutées dans tous les cas.
Donc dans ton code, la ligne 2 est exécutée à chaque fois, tandis que la ligne 4 n'est exécutée que si age est supérieur à 18.
Mais il faut qu'une valeur ait été définie pour pouvoir être utilisée.
Imaginons que plus loin dans ton code (en dehors de ton bloc conditionnel), tu cherches à accéder à la variable majeur.
Si tu retires la seconde ligne, cette variable n'existera que lorsque la condition age >= 18 était vraie, et tu obtiendras une erreur dans le cas contraire (comme quoi tu essaies d'accéder à une variable qui n'existe pas)).
Mais si c'est plus clair pour toi, tu pourrais aussi avoir une définition dans le else :
age = 15
if age >= 18:
majeur = True
else:
majeur = False
Est il possible de télécharger ce document "https://docs.python.org/fr/3/contents.html" en fichier PDF ou une autre version permettant la lecture hors ligne?
As-tu essayé avec quelques années que tu sais bissextiles pour vérifier tes calculs, 2016 par exemple ? C'est la première des choses à faire, et tu constateras que ton algorithme n'est pas bon.
De plus ta condition annee % 4 == 0 n'a pas d'intérêt, tu sais déjà qu'elle est vraie, sinon tu serais passé dans le premier if.
En plus court ça donnerait
bissextile = (annee % 4 == 0) and (annee % 100 != 0 or annee % 400 == 0)
Resalut les gares et excusez moi pour le retard.
Oui entwanne j'ai testé avec quelques années (2000, 2001, 2002, 2003), seulement je n'ai pas poussé le test, maintenant je me rends compte que ma résolution n'est pas parfaite.
Je ne comprends pas, comment est ce que "annee % 4 == 0" n'a pas d’intérêt? Comment est ce qu'elle est déjà vrai? Peux tu m'expliquer s'il te plait?
Merci.
juniorpaix a écrit:
> Peux tu m'expliquer s'il te plait?
C'est ce que je viens de faire déjà.
J'avais mal lu ton code et pensais que tu avais un elif et non un if ligne 6, ce qui aurait été plus logique.
Je disais donc que ça n'avait pas d'intérêt parce que la condition viendrait juste d'être testée, tu n'as alors pas besoin de la répéter toutes les lignes.
Aussi, dans tes tests tu ne vérifie qu'une année bissextile (2000) qui correspond de plus à un cas bien particulier : multiple de 400. Tu ne testes pas les simples multiples de 4, ni les multiples de 100 (qui ne le sont pas de 400).
Dans le premier cas tu as deux blocs de code, un if, puis ensuite un if/else. Le premier if, dans ton exemple, est inutile puisque tu vas passer par le if ou le else suivant, donc la valeur de la variable sera écrasée.
Dans le deuxième, tu as un seul ensemble, le code qui correspond à la première condition vraie sera exécuté, et c'est tout, contrairement au premier exemple dans lequel tu en auras toujours deux.
Tu peux mettre des print pour suivre le déroulement du programme, c'est assez formateur et ça permet de comprendre plein de choses, en plus d'être la base du debug.
Blond, bouclé, toujours le sourire aux lèvres...
Booléen
× 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.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
Blond, bouclé, toujours le sourire aux lèvres...
Blond, bouclé, toujours le sourire aux lèvres...
Blond, bouclé, toujours le sourire aux lèvres...
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
Blond, bouclé, toujours le sourire aux lèvres...
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique
Blond, bouclé, toujours le sourire aux lèvres...