JavaScript is required

Kết quả của chương trình dưới đây là:
class Point:
def __init__(self, x = 0, y = 0):
self.x = x
self.y = y
def __sub__(self, other):
x = self.x + other.x
y = self.y + other.y
return Point(x, y)
p1 = Point(3, 4)
p2 = Point(1, 2)
result = p1 - p2
print(result.x, result.y)

A.
2 2
B.
4 6
C.
0 0
D.
1
Trả lời:

Đáp án đúng: B


Đoạn code định nghĩa một lớp `Point` với phương thức `__init__` để khởi tạo đối tượng điểm với tọa độ x, y và phương thức `__sub__` để thực hiện phép trừ hai điểm. Tuy nhiên, phép trừ ở đây thực chất là cộng tọa độ của hai điểm. Khi `p1 = Point(3, 4)` và `p2 = Point(1, 2)` được tạo, `p1 - p2` sẽ gọi phương thức `__sub__`. Bên trong `__sub__`, `x` sẽ là `p1.x + p2.x = 3 + 1 = 4` và `y` sẽ là `p1.y + p2.y = 4 + 2 = 6`. Kết quả trả về là một đối tượng `Point` mới với `x = 4` và `y = 6`. Vì vậy, `print(result.x, result.y)` sẽ in ra `4 6`.

Tổng hợp 200 câu hỏi trắc nghiệm lập trình Python có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan