رفتن به محتوای اصلی
برنامه‌سازی پیشرفته با پایتون درس‌نامهٔ آزاد
مثال متوسط ۱۲ دقیقه

شکل‌ها و مساحت چندریخت

با ABC یک خانوادهٔ شکل بساز که ساخت شکلِ بدون مساحت ناممکن باشد و جمع مساحت‌ها روی هر ترکیبی کار کند.

صورت مسئله

با ABC یک خانوادهٔ شکل بساز که ساخت شکلِ بدون مساحت ناممکن باشد و جمع مساحت‌ها روی هر ترکیبی کار کند.

مثال حل‌شده

خانوادهٔ شکل‌ها

متوسط

صورت مسئله

دایره‌ای به شعاع ۲ و مستطیلی ۳×۴ بساز و جمع مساحتشان را با یک تابع عمومی حساب کن.

راه‌حل گام‌به‌گام

    ۴ گام باقی مانده
    from abc import ABC, abstractmethod
    
    class Shape(ABC):
        @abstractmethod
        def area(self):
            ...
    
    class Circle(Shape):
        def __init__(self, radius):
            self.radius = radius
        def area(self):
            return 3.14159 * self.radius ** 2
    
    class Rectangle(Shape):
        def __init__(self, w, h):
            self.w, self.h = w, h
        def area(self):
            return self.w * self.h
    
    def total_area(shapes):
        return sum(s.area() for s in shapes)
    
    print(f"{total_area([Circle(2), Rectangle(3, 4)]):.2f}")  # 24.57

    مطالب مرتبط

    از همین بخش و با برچسب‌های مشترک

    این مطلب را خواندید؟ آن را علامت بزنید تا پیشرفت شما روی همین دستگاه ذخیره شود.

    وضعیت پیشرفت برای شکل‌ها و مساحت چندریخت