Last active
January 31, 2022 10:13
-
-
Save Thesola10/a0fc3c7774259dc1e8b87179d99ae5c1 to your computer and use it in GitHub Desktop.
bidule orienté objet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
# Un pot de fleurs pour apprendre à coder :) | |
# © Karim Vergnes <me@thesola.io> | |
# Sous licence Creative Commons Attribution, NonCommercial, ShareAlike (CC BY,NC,SA) | |
# https://creativecommons.org/licenses/by-nc-sa/3.0/fr/ | |
class Potdefleur: | |
couleur = str() | |
fleurs = list() | |
date = str() | |
def __init__(self, couleur): | |
self.couleur = couleur | |
print("Tu as créé un pot de fleurs %s" %couleur) | |
def ajouterFleur(self, fleur): | |
self.fleurs.append(fleur) | |
print("Tu as ajouté une %s" %fleur) | |
def __str__(self): | |
fleurList = ", ".join(self.fleurs) | |
arrose = "jamais arrosé" if self.date == "" else "arrosé le %s" %self.date | |
return "Pot de fleurs %s, %s, contenant : %s" %(self.couleur, arrose, fleurList) | |
def arroser(self): | |
from datetime import date | |
if len(self.fleurs) == 0: | |
print("Tu n'as pas de fleurs à arroser !") | |
else: | |
self.date = str(date.today()) | |
print('Tu as arrosé tes fleurs') | |
# Exemple : INTRODUCTION | |
# Implémenter le pot de fleurs avec ajouterFleur(). Omettre lignes 11, 20, et 22 à 28. | |
# Ligne 21 devient : return "Pot de fleurs %s, contenant : %s" %(self.couleur, fleurList) | |
# Permet d'apprendre le principe de classes et types. | |
# L'éducateur doit implémenter Potdefleur et l'expliquer à l'élève. | |
# | |
# Exercice 1 : EXERCICE ENCADRÉ | |
# Ajouter l'arrosage. L'élève doit pouvoir implémenter arroser() et modifier __str__(). | |
# Guider l'élève si nécessaire. | |
# L'éducateur doit éxecuter, dans l'ordre : | |
# -> pot = Potdefleur('rouge') | |
# <- Tu as créé un pot de fleurs rouge | |
# -> pot.arroser() | |
# <- Tu n'as pas de fleurs à arroser ! | |
# -> print(pot) | |
# <- Pot de fleurs rouge, jamais arrosé, contenant : | |
# -> pot.ajouterFleur("pensée") | |
# <- Tu as ajouté une pensée | |
# -> pot.arroser() | |
# <- Tu as arrosé tes fleurs | |
# -> print(pot) | |
# <- Pot de fleurs rouge, arrosé le (aujourd'hui), contenant : pensée | |
# Tous les retours doivent être comme ci-dessus. | |
# | |
# Exercice 2 : EXERCICE LIBRE | |
# Ajouter un dictionnaire de fleurs. ajouterFleur() doit pouvoir détecter ces fleurs: | |
# pensée, rose, violette, orchidée | |
# L'élève doit utiliser if fleur in self.dictionnaire ou équivalent, et refuser sinon. | |
# Ne pas guider l'élève. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment