Récupérer les valeurs de cette classe
Résolu
maxime_boris
Messages postés
39
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, j'ai essayé de filtrer mes valeur self.cote avec la comprehension de liste [x pour x dans une liste si condition],mais ce message TypeError: '<' not supported between instances of 'list' and 'int' s'affiche a chaque fois. Quand j'essaie d'implementer une fontion avec une structure conditionnelle imbriquée ce message s'affiche aussi en plus je n'arrive toujours pas à recuperer les valeur self.cote pour les mettre dans une liste.
Pourriez vous me montrer la marche à suivre pour ce genre de situation s'il vous plait
class Pmu:
def __init__(self,nom:str, cote: int):
self.nom = nom
self.cote = cote
def info_cheval(self):
if self.nom =="":
print(f"Veuillez indiquer le nom du cheval, sinon la cote et de {self.cote} ")
return
if self.cote != 0:
if self.filter():
return False
return True
def filter(self):
if 0< self.cote < 10.5:
print(f"Base: {self.cote}")
elif 10.5< self.cote< 24.9:
print(f"bon outsiders: {self.cote}")
elif 25< self.cote< 34.9:
print(f"Gros outsiders: {self.cote}")
elif 35< self.cote< 300:
print(f"Tocard: {self.cote}")
##################################### programme #########################"######"
chevaux= {}
continuer ="o"
while continuer == "o":
nom = input("Saississez le nom du cheval: ")
cote =float(input("Cote: "))
chevaux[nom]= Pmu(nom,cote)
chevaux[nom].nom= nom
chevaux[nom].cote = cote
continuer = input("Voulez vous rajouter un autre cheval ? o/n ")
print("")
print("")
print("Voici la liste des partants: ")
for cheval in chevaux.values():
print("{0} : {1}".format(cheval.nom,cheval.cote))
print(cheval.info_cheval())
print(cheval.cote)
Pourriez vous me montrer la marche à suivre pour ce genre de situation s'il vous plait
class Pmu:
def __init__(self,nom:str, cote: int):
self.nom = nom
self.cote = cote
def info_cheval(self):
if self.nom =="":
print(f"Veuillez indiquer le nom du cheval, sinon la cote et de {self.cote} ")
return
if self.cote != 0:
if self.filter():
return False
return True
def filter(self):
if 0< self.cote < 10.5:
print(f"Base: {self.cote}")
elif 10.5< self.cote< 24.9:
print(f"bon outsiders: {self.cote}")
elif 25< self.cote< 34.9:
print(f"Gros outsiders: {self.cote}")
elif 35< self.cote< 300:
print(f"Tocard: {self.cote}")
##################################### programme #########################"######"
chevaux= {}
continuer ="o"
while continuer == "o":
nom = input("Saississez le nom du cheval: ")
cote =float(input("Cote: "))
chevaux[nom]= Pmu(nom,cote)
chevaux[nom].nom= nom
chevaux[nom].cote = cote
continuer = input("Voulez vous rajouter un autre cheval ? o/n ")
print("")
print("")
print("Voici la liste des partants: ")
for cheval in chevaux.values():
print("{0} : {1}".format(cheval.nom,cheval.cote))
print(cheval.info_cheval())
print(cheval.cote)
4 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
Peux-tu utiliser les balises de code quand tu partages du code? https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Tu ne montres ni le code que tu as essayé, celui qui donne l'erreur "TypeError", ni un exemple du résultat que tu attends. -
Bonjour, j'ai essayé de filtrer mes valeur self.cote avec la comprehension de liste [x pour x dans une liste si condition],mais ce message TypeError: '<' not supported between instances of 'list' and 'int' s'affiche a chaque fois. Quand j'essaie d'implementer une fontion avec une structure conditionnelle imbriquée ce message s'affiche aussi en plus je n'arrive toujours pas à recuperer les valeur self.cote pour les mettre dans une liste.
class Pmu: def __init__(self,nom:str, cote: int): self.nom = nom self.cote = cotedef info_cheval(self): if self.nom =="": print(f"Veuillez indiquer le nom du cheval, sinon la cote et de {self.cote} ") returnif self.cote != 0: if self.filter(): return False return Truedef filter(self): if 0< self.cote < 10.5: print(f"Base: {self.cote}") <code python> elif 10.5< self.cote< 24.9: print(f"bon outsiders: {self.cote}")
elif 25< self.cote< 34.9: print(f"Gros outsiders: {self.cote}")
##################################### programme #########################"######"chevaux= {} continuer ="o" while continuer == "o": nom = input("Saississez le nom du cheval: ") cote =float(input("Cote: "))
chevaux[nom]= Pmu(nom,cote) chevaux[nom].nom= nom chevaux[nom].cote = cote continuer = input("Voulez vous rajouter un autre cheval ? o/n ") print("") print("") print("Voici la liste des partants: ") for cheval in chevaux.values(): print("{0} : {1}".format(cheval.nom,cheval.cote)) print(cheval.info_cheval())-
Bonjour
L’idée avec les balises de codes, c’est de rendre la lecture facile à ceux qui voudraient essayer de t’aider.
Or découper des if ou des while dans 2 blocs de coloration différents ça ne rend pas la lecture plus simple.
Peux reposter tout ton code dans un seul bloc de coloration s’il te plait? -
-
-
class Pmu: def __init__(self,nom:str, cote: int): self.nom = nom self.cote = cote def info_cheval(self): if self.nom =="": print(f"Veuillez indiquer le nom du cheval, sinon la cote et de {self.cote} ") return if self.cote != 0: if self.filter(): return False return True def filter(self): if 0< self.cote < 10.5: print(f"Base: {self.cote}") elif 10.5< self.cote< 24.9: print(f"bon outsiders: {self.cote}") elif 25< self.cote< 34.9: print(f"Gros outsiders: {self.cote}") elif 35< self.cote< 300: print(f"Tocard: {self.cote}") ##################################### programme #########################"######" chevaux= {} continuer ="o" while continuer == "o": nom = input("Saississez le nom du cheval: ") cote =float(input("Cote: ")) chevaux[nom]= Pmu(nom,cote) chevaux[nom].nom= nom chevaux[nom].cote = cote continuer = input("Voulez vous rajouter un autre cheval ? o/n ") print("") print("") print("Voici la liste des partants: ") for cheval in chevaux.values(): print("{0} : {1}".format(cheval.nom,cheval.cote)) print(cheval.info_cheval()) -
merçi pour vos conseil mais ce que je veux en priorité c'est de recuperer les valeurs du self.cote. Grace au print(cheval.info_cheval()) je peux afficher les valeur sur le terminal mais je cherche avant tout c'est de recuperer les valeurs pour les mettre dans une liste