ฟังก์ชัน fmod() ใน Python ใช้ดำเนินการ modulo ทางคณิตศาสตร์ ผลเศษที่ได้หลังการหารสองตัวเลข เรียกว่าการดำเนินการ modulo เป็นส่วนหนึ่งของไลบรารีมาตรฐานภายใต้โมดูล math ในตัวอย่างด้านล่างเราจะดูว่า modulo ให้ผลลัพธ์ต่างกันในสถานการณ์ต่างๆ
จำนวนบวก
สำหรับจำนวนบวก ผลลัพธ์คือเศษของการดำเนินการหลังจากหารจำนวนเต็มตัวแรกด้วยตัวที่สอง น่าสนใจคือผลลัพธ์จะเป็น float เสมอ ตามที่เห็นจากชนิดของผลลัพธ์
ตัวอย่าง
from math import fmod print(fmod(6, 7)) print(type(fmod(6, 7))) print(fmod(0, 7)) print(fmod(83.70, 6.5))
การรันโค้ดข้างต้นจะให้ผลลัพธ์ดังนี้:
6.00.0 5.7
จำนวนลบ
จำนวนลบให้ผลลัพธ์พร้อมเครื่องหมายลบ ยกเว้นเมื่อตัวหารเป็นลบ
ตัวอย่าง
print(fmod(29, -7)) print(fmod(-29, 7)) print(fmod(-29, -7)) print(fmod(-30, 8.98))
การรันโค้ดข้างต้นจะให้ผลลัพธ์ดังนี้:
1.0 -1.0 -1.0 -3.0599999999999987
ทูเพิลและลิสต์
เราสามารถใช้ตรรกะเดียวกันกับทูเพิลและลิสต์ได้โดยอ้างอิงสมาชิกแต่ละตัวในทูเพิลและลิสต์
ตัวอย่าง
from math import fmod
Tuple = (25, 13, -7, -60)
List = [-69, 58, -49, 36]
print("\nTuples:")
print(fmod(Tuple[3], 7))
print(fmod(Tuple[1], -7))
print("Lists:")
print(fmod(List[3], 6))
print(fmod(List[0], -25))
การรันโค้ดข้างต้นจะให้ผลลัพธ์ดังนี้:
Tuples: -4.0 6.0 Lists: 0.0 -19.0
สรุป: math.fmod() เหมาะสำหรับการคำนวณ modulo กับจำนวนจริง (float) ให้ผลลัพธ์เป็น float เสมอ ต่างจากตัวดำเนินการ % ที่คืนค่า int สำหรับ int