Défi Spartacamp Python 2019 Day2

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.

Tâche

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

répondre

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

Défi Spartacamp Python 2019 Day2
Python Jour 1
[Python] Défiez 100 coups! (015 ~ 019)
[Python] Défiez 100 coups! (030-034)
Apprentissage Python jour 4
[Python] Défiez 100 coups! (010-014)
[Python] Défiez 100 coups! (025-029)
journal des défis python ①
[Python] Défiez 100 coups! (020-024)
Premier jour d'étude de Python
[1day1lang AdventCalender] jour4 Python
Expédition Python style Umemura jour 0
Expédition Python style Umemura Jour 1
Défiez Python3 et Selenium Webdriver
[Introduction à Python3 Jour 1] Programmation et Python
Défiez LOTO 6 avec Python sans discipline
[Introduction à Python3 Jour 13] Chapitre 7 Chaînes de caractères (7.1-7.1.1.1)
[Introduction à Python3 Jour 14] Chapitre 7 Chaînes de caractères (7.1.1.1 à 7.1.1.4)
[Introduction à Python3 Jour 15] Chapitre 7 Chaînes de caractères (7.1.2-7.1.2.2)
# 2 Les débutants en Python défient AtCoder! ABC085C --Otoshidama
[Introduction à Python3 Day 21] Chapitre 10 Système (10.1 à 10.5)