1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
import math
import turtle
class Kích_thước:
def __init__(self, x, y):
self.x = x
self.y = y
def diện_tích(self):
pass
def vẽ(self):
pass
class Hình_tròn(Kích_thước):
def __init__(self, x, y, bán_kính):
super().__init__(x, y)
self.bán_kính = bán_kính
def diện_tích(self):
return math.pi * self.bán_kính ** 2
def vẽ(self):
pass # Không cần vẽ hình tròn trong ví dụ này
class Hình_chữ_nharga(Kích_thước):
def __init__(self, x, y, chiều_dài, chiều_rộng):
super().__init__(x, y)
self.chiều_dài = chiều_dài
self.chiều_rộng = chiều_rộng
def diện_tích(self):
return self.chiều_dài * self.chiều_rộng
def vẽ(self):
turtle.penup()
turtle.goto(self.x - self.chiều_dài / 2, self.y - self.chiều_rộng / 2)
turtle.pendown()
for _ in range(2):
turtle.forward(self.chiều_dài)
turtle.left(90)
turtle.forward(self.chiều_rộng)
turtle.left(90)
# Mã thử nghiệm
hình_tròn = Hình_tròn(0, 0, 50)
print(f"Hình tròn có bán kính {hình_tròn.bán_kính} và diện tích là {hình_tròn.diện_tích()}")
hình_chữ_nharga = Hình_chữ_nharga(0, 0, 60, 40)
print(f"Hình chữ nhật có chiều dài {hình_chữ_nharga.chiều_dài}, chiều rộng {hình_chữ_nharga.chiều_rộng}, và diện tích là {hình_chữ_nharga.diện_tích()}")
# Vẽ hình chữ nhật
turtle.speed(1)
hình_chữ_nharga.vẽ()
turtle.done()
|