Je veux définir une classe qui calculille la zone du cercle et comptez également le nombre de cercles mais je ne reçois pas la sortie souhaitée. P> Code utilisé: p> donne l'erreur suivante: p>
4 Réponses :
def area(self): return [3.14*self.radius**2 for i in self.radius] #return 3.14 * self.radius **2
Votre classe devrait ressembler à ceci:
class Circle: def __init__(self,radius): self.radius = radius def area(self): return [3.14 * r**2 for r in self.radius]
Je pense que vous pourriez être mal compris lorsque vous utiliseriez une classe. Pensez à une classe comme modèle pour un objet. Lorsque vous appelez dans votre Exemple, envisagez de faire trois cercles pour chacune de vos trois entrées (ou si de nombreuses entrées), alors cela simplifie votre classe car vous n'avez pas besoin de listes. P> cercle (...) code>, vous créez une instance em> de cet objet, et il est parfaitement acceptable d'avoir plusieurs instances d'une classe.
inputradiusstr="1,2,3"
list_radius=inputradiusstr.split(',')
for radius in list_radius:
c = Circle(int(radius))
print(c.area())
Je pense que cela vaut la peine de noter que si une classe a deux méthodes, et l'une d'entre elles est __ init __ code> alors Ce ne devrait pas être une classe .
Typecastage fonctionnera dans votre cas. et votre classe a une incompatibilité d'indentation. Je pense que c'est juste en tapitant la question. p> p>
Vous devez documenter ce que vous avez essayé, où il échoue et quelle est votre production actuellement.
J'ai pris une liberté d'ajouter une sortie produite par votre code et de changer le titre en conséquence. Si vous n'êtes pas d'accord avec mon édition, n'hésitez pas à l'inverser.