Récupérer les valeurs de cette classe

Résolu
maxime_boris Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 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)

4 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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.
0
maxime_boris Messages postés 35 Date d'inscription   Statut Membre 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.







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}")
        
    <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())
0
Utilisateur anonyme
 
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?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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.
0
maxime_boris Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
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())
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Quand tu crées un exemple de code pour décrire un soucis, il est préférable d'éviter d'utiliser "input". Sinon, explique ce qu'il faut répondre pour obtenir le message d'erreur.
0
maxime_boris Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
peut-être:
cotes=[]
for cheval in chevaux.values():
        cotes.append(cheval.cote)
print(cotes)
0
maxime_boris Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
je te remercie beaucoup l'ironie du comble est que le resultat etait juste devant mes yeux.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > maxime_boris Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
peux-tu alors marquer la discussion comme résolue?
0