題目1:定義圓(Circle)類
要求:
1.包含屬性:半徑 radius。
2.包含方法:
●calculate_area():計算圓的面積(公式:πr2)。
●calculate_circumference():計算圓的周長(公式:2πr)。
3.初始化時需傳入半徑,默認值為 1。
import mathclass Circle:def __init__(self, radius=1):self.radius = radius # 外界的參數,需要通過self.xxx來復制給類自己的屬性def calculate_area(self):return math.pi * (self.radius ** 2)def calculate_circumference(self):return 2 * math.pi * self.radius
# 測試
circle = Circle(5)
print("Area:", circle.calculate_area())
print("Circumference:", circle.calculate_circumference())
題目2:定義長方形(Rectangle)類
1.包含屬性:長 length、寬 width。
2.包含方法:
●calculate_area():計算面積(公式:長×寬)。
●calculate_perimeter():計算周長(公式:2×(長+寬))。 is_square() 方法,判斷是否為正方形(長 == 寬)。
3.初始化時需傳入長和寬,默認值均為 1。
class Rectangle:def __init__(self, length=1, width=1):self.length = length # 外界的參數,需要通過self.xxx來復制給類自己的屬性self.width = widthdef calculate_area(self):return self.length * self.widthdef calculate_circumference(self):return 2 * (self.length + self.width)def is_square(self):return self.length == self.width
# 測試
rectangle = Rectangle(5,5)
print("Area:", rectangle.calculate_area())
print("Circumference:", rectangle.calculate_circumference())
題目3:圖形工廠
創建一個工廠函數 create_shape(shape_type, *args),根據類型創建不同圖形對象:圖形工廠(函數或類)
shape_type=“circle”:創建圓(參數:半徑)。
shape_type=“rectangle”:創建長方形(參數:長、寬)。
# 與前面幾個題不同,這題是創造一個函數,但是需要用到前面類
# 由于circle和rectangle是形狀,所以可以定義一個形狀類,然后circle和rectangle繼承形狀類
# 但是二者參數不同
def create_shape(shape_type, *args):# 檢查形狀類型if shape_type == "circle":if len(args) != 1: #如果 shape_type 是 "rectangle",則檢查 args 是否有兩個元素(即長度和寬度)。raise ValueError("Circle requires exactly one argument: radius.") #如果參數數量不正確,拋出異常。return Circle(*args) elif shape_type == "rectangle": #否則,使用傳入的長度和寬度創建并返回一個 Rectangle 對象if len(args) != 2:raise ValueError("Rectangle requires exactly two arguments: length and width.")return Rectangle(*args)else:raise ValueError(f"Unknown shape type: {shape_type}") #如果形狀類型未知,拋出異常。
# 測試
circle = create_shape("circle", 5)
print("Circle Area:", circle.calculate_area())
print("Circle Circumference:", circle.calculate_circumference())