Je ne connaissais pas la réponse au problème sur la vidéo, alors j'ai essayé de le résoudre moi-même. J'ai pensé que ce serait utile pour ceux qui apprennent avec la vidéo en direct de Sparta Camp.
C'est le problème d'un débutant en programmation orientée objet. Plutôt que d'écrire du bon code en utilisant l'orientation objet, le but est d'être capable d'écrire dans la grammaire correcte.
Implémentez la classe Circle afin que le code suivant soit correct. zone désigne la zone et périmètre désigne la longueur périphérique (la longueur de la circonférence).
circle.py
#Cercle de rayon 1
circle1 = Circle(radius=1)
print(circle1.area()) #3.14
print(circle1.perimeter()) #6.28
#Cercle de rayon 3
circle3 = Circle(radius=3)
print(circle3.area()) #28.26 ← Probablement 28 dans la vidéo.27 est faux
print(circle3.perimeter()) # 18.84 ← Probablement 18 dans la vidéo.85 est faux
#Implémentez la classe Rectangle pour que le code suivant fonctionne correctement
#diagonale signifie (longueur).
rectangle1 = Rectangle(height=5, width=6)
rectangle1.area() #30.00
rectangle1.diagonal() #7.81
rectangle2 = Rectangle(height=3, width=3)
rectangle2.area() #9.00
rectangle2.diagonal() #4.24
C'est un code approximatif, mais je vais mettre la réponse que j'ai trouvée pour référence.
class Circle:
def __init__(self, radius):
self.radius = radius
def area(self):
return (self.radius ** 2) * 3.14
def perimeter(self):
return self.radius * 2 * 3.14
class Rectangle:
def __init__(self, height, width):
self.height = height
self.width = width
def area(self):
area = self.height * self.width
print(f'{area:.2f}')
def diagonal(self):
line = pow(self.height, 2) + pow(self.width, 2)
line = line ** (1/2)
print(f'{line:.2f}')
Bonne réponse si le résultat de l'exécution est le suivant!
3.14
6.28
28.26
18.84
30.00
7.81
9.00
4.24
Recommended Posts