เรียนรู้การคำนวณและการเปรียบเทียบใน Python
• เข้าใจตัวดำเนินการทางคณิตศาสตร์
• สามารถคำนวณในโปรแกรมได้
• เข้าใจลำดับการทำงาน
• ใช้การเปรียบเทียบและตรรกะได้
Python สามารถทำการคำนวณได้เหมือนเครื่องคิดเลข
result = 5 + 3 print(result) # 8
result = 10 - 4 print(result) # 6
result = 6 * 7 print(result) # 42
result = 15 / 3 print(result) # 5.0
result = 17 // 5 print(result) # 3
หารแล้วตัดทศนิยมทิ้ง
result = 17 % 5 print(result) # 2
เศษที่เหลือจากการหาร
result = 2 ** 3 print(result) # 8
2³ = 2×2×2 = 8
result = (5 + 3) * 2 print(result) # 16
ทำในวงเล็บก่อน
• Modulo (%): เช็คเลขคู่-คี่ เช่น number % 2 == 0
= เลขคู่
• Power (**): คำนวณพื้นที่ เช่น side ** 2
= พื้นที่สี่เหลี่ยม
• Floor (//): แบ่งของเท่าๆ กัน เช่น candy // kids
Python คำนวณตามลำดับความสำคัญ เหมือนคณิตศาสตร์ทั่วไป
# ตัวอย่างลำดับการคำนวณ result1 = 2 + 3 * 4 # คูณก่อน: 2 + 12 = 14 result2 = (2 + 3) * 4 # วงเล็บก่อน: 5 * 4 = 20 result3 = 2 ** 3 * 4 # ยกกำลังก่อน: 8 * 4 = 32 result4 = 10 - 6 + 2 # ซ้ายไปขวา: 4 + 2 = 6 print(result1) # 14 print(result2) # 20 print(result3) # 32 print(result4) # 6
1. ( ) วงเล็บ
2. ** ยกกำลัง
3. * / // % คูณ หาร หารเอาจำนวนเต็ม หารเอาเศษ
4. + - บวก ลบ
5. เมื่อความสำคัญเท่ากัน: ทำจากซ้ายไปขวา
result = 6 + 4 * 2 - 3
ได้ผลลัพธ์เท่าไหร่?
คำตอบ: 11 (6 + 8 - 3 = 11)
ใช้เปรียบเทียบตัวเลข ข้อความ หรือตัวแปร ได้ผลเป็น Boolean (True/False)
print(5 == 5) # True print(3 == 7) # False
print(5 != 3) # True print(4 != 4) # False
print(8 > 5) # True print(3 > 9) # False
print(4 < 7) # True print(9 < 2) # False
# ตัวอย่างการใช้งานกับตัวแปร age = 16 passing_score = 60 my_score = 75 is_adult = age >= 18 # False passed_exam = my_score >= passing_score # True failed = my_score < passing_score # False
# >= มากกว่าหรือเท่ากับ print(5 >= 5) # True print(7 >= 5) # True print(3 >= 5) # False # <= น้อยกว่าหรือเท่ากับ print(5 <= 5) # True print(3 <= 5) # True print(7 <= 5) # False
# เปรียบเทียบข้อความ name1 = "Alice" name2 = "Bob" print(name1 == "Alice") # True print(name1 != name2) # True print(name1 < name2) # True (A < B)
• เช็คอายุ: age >= 18
เป็นผู้ใหญ่หรือไม่
• เช็คคะแนน: score >= 80
ได้เกรด A หรือไม่
• เช็ครหัสผ่าน: password == "1234"
ถูกต้องหรือไม่
• เช็คเลขคู่: number % 2 == 0
เป็นเลขคู่หรือไม่
ใช้เมื่อต้องการเช็คหลายเงื่อนไขพร้อมกัน
age = 20 score = 85 result = age >= 18 and score >= 80 print(result) # True
ผู้ใหญ่ และ คะแนนดี
rain = True cold = False stay_home = rain or cold print(stay_home) # True
ฝนตก หรือ อากาศหนาว
is_weekend = False is_workday = not is_weekend print(is_workday) # True
ไม่ใช่วันหยุด = วันทำงาน
a = True b = False c = True result = a and (b or c) print(result) # True
ควบคุมลำดับการทำงาน
and: True and True = True | อื่นๆ = False
or: False or False = False | อื่นๆ = True
not: not True = False | not False = True
มาดูการใช้ตัวดำเนินการในโปรแกรมจริง
# ตัวอย่าง 1: เช็คสิทธิ์การดูหนัง age = 16 has_parent = True can_watch = age >= 13 and (age >= 18 or has_parent) print("สามารถดูหนังได้:", can_watch) # True # ตัวอย่าง 2: คำนวณเกรด midterm = 75 final = 82 assignment = 90 total_score = (midterm * 0.3) + (final * 0.5) + (assignment * 0.2) passed = total_score >= 60 honor = total_score >= 80 print("คะแนนรวม:", total_score) print("ผ่าน:", passed) print("เกียรตินิยม:", honor)
สร้างโปรแกรมเช็คว่าสามารถขับรถได้หรือไม่:
• อายุ >= 18 และ มีใบขับขี่ = ขับได้
• หรือ อายุ >= 15 และ มีผู้ปกครองติดตาม = ขับได้
ใช้เมื่อต้องการเปลี่ยนค่าตัวแปรโดยคำนวณจากค่าเดิม
score = 80 score = score + 5 # 85 score = score - 3 # 82 score = score * 2 # 164 score = score / 4 # 41.0 score = score ** 2 # 1681.0
score = 80 score += 5 # 85 score -= 3 # 82 score *= 2 # 164 score /= 4 # 41.0 score **= 2 # 1681.0
# ตัวอย่างการใช้งานจริง money = 1000 print("เงินเริ่มต้น:", money) money += 500 # ได้เงินเพิ่ม 500 บาท print("หลังได้เงิน:", money) # 1500 money -= 200 # จ่ายเงิน 200 บาท print("หลังจ่าย:", money) # 1300 money *= 2 # เงินเพิ่มเป็น 2 เท่า print("หลังเพิ่ม 2 เท่า:", money) # 2600
ใช้ความรู้ทั้งหมดเกี่ยวกับการคำนวณและตัวดำเนินการ
# โปรแกรมเครื่องคิดเลขอัจฉริยะ print("=== เครื่องคิดเลขอัจฉริยะ ===") print("กรุณาใส่ตัวเลข 2 ตัว") # รับข้อมูล num1 = float(input("ตัวเลขที่ 1: ")) num2 = float(input("ตัวเลขที่ 2: ")) # การคำนวณพื้นฐาน add_result = num1 + num2 sub_result = num1 - num2 mul_result = num1 * num2 div_result = num1 / num2 if num2 != 0 else "ไม่สามารถหารด้วย 0 ได้" power_result = num1 ** num2 # การเปรียบเทียบ is_equal = num1 == num2 is_greater = num1 > num2 both_positive = num1 > 0 and num2 > 0 # แสดงผลลัพธ์ print("\n=== ผลการคำนวณ ===") print("บวก:", add_result) print("ลบ:", sub_result) print("คูณ:", mul_result) print("หาร:", div_result) print("ยกกำลัง:", power_result) print("=== การเปรียบเทียบ ===") print("เท่ากัน:", is_equal) print(num1, "มากกว่า", num2, ":", is_greater) print("เป็นบวกทั้งคู่:", both_positive)
✅ คำนวณ: +, -, *, /, //, %, **
✅ เปรียบเทียบ: ==, !=, >, <, >=, <=
✅ ตรรกะ: and, or, not
✅ ลำดับการทำงาน: วงเล็บ ยกกำลัง คูณหาร บวกลบ
✅ ทางลัด: +=, -=, *=, /=, **=
ลองเพิ่มฟีเจอร์:
• คำนวณค่าเฉลี่ย ค่าสูงสุด ต่ำสุด
• เช็คว่าเป็นจำนวนเฉพาะหรือไม่
• คำนวณดอกเบิ้ย หรือ ภาษี
• สร้างเกมทายตัวเลข