บทนำ
เมื่อต้องการสร้างคลาสที่ทำหน้าที่คำนวณต่างๆ เช่น บวก ลบ คูณ หาร จะใช้แนวคิดเชิงวัตถุ (Object-Oriented Programming) โดยการกำหนดคลาส พร้อมแอตทริบิวต์และเมธอดสำหรับแต่ละการดำเนินการ จากนั้นสร้างอินสแตนซ์ของคลาสและเรียกใช้เมธอดต่างๆ เพื่อคำนวณผลลัพธ์
ตัวอย่างโค้ด
class Calculator:
def __init__(self, num1, num2):
self.a = num1
self.b = num2
def add(self):
return self.a + self.b
def subtract(self):
return self.a - self.b
def multiply(self):
return self.a * self.b
def divide(self):
if self.b != 0:
return self.a / self.b
return "ไม่สามารถหารด้วยศูนย์ได้"
# รับค่าจากผู้ใช้
input_1 = int(input("ป้อนตัวเลขแรก: "))
input_2 = int(input("ป้อนตัวเลขที่สอง: "))
print(f"ตัวเลขที่ป้อน: {input_1}, {input_2}")
calc = Calculator(input_1, input_2)
while True:
print("\n0. ออกจากโปรแกรม")
print("1. บวก")
print("2. ลบ")
print("3. คูณ")
print("4. หาร")
choice = int(input("เลือกเมนู: "))
if choice == 1:
print(f"ผลบวก: {calc.add()}")
elif choice == 2:
print(f"ผลลบ: {calc.subtract()}")
elif choice == 3:
print(f"ผลคูณ: {calc.multiply()}")
elif choice == 4:
result = calc.divide()
if isinstance(result, str):
print(result)
else:
print(f"ผลหาร: {round(result, 2)}")
elif choice == 0:
print("ออกจากโปรแกรม")
break
else:
print("เมนูไม่ถูกต้อง กรุณาลองใหม่")
ผลลัพธ์ตัวอย่าง
ป้อนตัวเลขแรก: 70 ป้อนตัวเลขที่สอง: 2 ตัวเลขที่ป้อน: 70, 2 0. ออกจากโปรแกรม 1. บวก 2. ลบ 3. คูณ 4. หาร เลือกเมนู: 1 ผลบวก: 72 ... เลือกเมนู: 0 ออกจากโปรแกรม
คำอธิบาย
- สร้างคลาส
Calculatorที่มีเมธอดadd,subtract,multiply,divideสำหรับการคำนวณแต่ละอย่าง - สร้างอินสแตนซ์
calcโดยส่งค่าตัวเลข 2 ตัวเข้าไป - ใช้ลูป
whileแสดงเมนูและรับคำสั่งจากผู้ใช้จนกว่าจะเลือกออก - มีการตรวจสอบการหารด้วยศูนย์เพื่อป้องกันข้อผิดพลาด