ตัวแปรและตัวดำเนินการ (Variables & Operators)
ตัวแปรคืออะไร? ทำไมต้องจำค่าไว้ในหน่วยความจำ? และสูตรคำนวณทางวิทยาศาสตร์เขียนเป็นโค้ดได้อย่างไร?
คอมพิวเตอร์จำค่าอุณหภูมิห้องแล็บ หรือค่ามวลสารได้อย่างไร?
"ในการทดลองวิทยาศาสตร์ เราต้องบันทึกค่าตัวแปรต่างๆ เช่น pH, อุณหภูมิ, ความเข้มข้น 'ตัวแปร (Variable)' คือกล่องความจำที่ช่วยให้คอมพิวเตอร์จำค่าเหล่านี้ไว้คำนวณ"
ชีววิทยา (Biology)
เก็บค่าการเจริญเติบโต เช่น ความสูงของต้นไม้ จำนวนเซลล์แบคทีเรีย
ฟิสิกส์ (Physics)
เก็บค่าแรง ความเร่ง ความเร็วเริ่มต้น ของวัตถุที่กำลังเคลื่อนที่
เคมี (Chemistry)
เก็บค่า pH ความเข้มข้นของสารละลาย จำนวนโมล
1 ตัวแปร (Variable) คืออะไร?
ตัวแปร (Variable) เปรียบเสมือน "กล่องเก็บของที่ติดป้ายชื่อ" ไว้ในหน่วยความจำของคอมพิวเตอร์ เพื่อนำข้อมูลนั้นมาใช้งานหรือคำนวณในภายหลัง
📝 กฎการตั้งชื่อตัวแปร (Naming Rules)
- ✅ ใช้ตัวอักษรภาษาอังกฤษ ตัวเลข และ Underscore (_) เท่านั้น (แนะนำให้ใช้
snake_caseเช่นmy_score) - ❌ ห้ามขึ้นต้นด้วยตัวเลข (เช่น
1st_nameจะเกิด Error) - ❌ ห้ามใช้คำสงวน (Reserved words) เช่น
if, for, class, while, print - ❌ ห้ามมีช่องว่างหรือเครื่องหมายพิเศษอื่น (เช่น
my-nameหรือmy nameจะเกิด Error)
📌 ตัวอย่าง: การสร้างและใช้งานตัวแปร
temperature = 37.5
student_name = "จภ.กาฬสินธุ์"
print("อุณหภูมิ:", temperature)
print("นักเรียน:", student_name)
2 ชนิดข้อมูลพื้นฐาน (Data Types)
ใน Python ข้อมูลแต่ละค่ามี "ชนิด" (Type) ที่แตกต่างกัน 4 ชนิดพื้นฐาน:
| ชนิดข้อมูล (Type) | ความหมาย | ตัวอย่างทางวิทยาศาสตร์ |
|---|---|---|
| int | จำนวนเต็ม (Integer) | 10 (จำนวนโปรตอน), -5 |
| float | จำนวนจริง/ทศนิยม (Float) | 3.14 (ค่าพาย), 9.81 (แรงโน้มถ่วง) |
| str | ข้อความ (String) ต้องมี "" | "H2O", "Oxygen" |
| bool | ค่าความจริง (Boolean) | True (เป็นกรด), False |
📌 เช็คชนิดข้อมูลด้วยคำสั่ง type()
gravity = 9.81 is_active = True print(type(gravity)) print(type(is_active))
<class 'bool'>
3 การแปลงชนิดข้อมูล (Type Casting)
เราสามารถแปลงข้อมูลจากชนิดหนึ่งไปอีกชนิดหนึ่งได้โดยใช้คำสั่งเช่น int(), float(), str()
pi_str = "3.14" pi_float = float(pi_str) # แปลงเป็นทศนิยม 3.14 num_int = int(9.99) # ตัดเศษทศนิยมทิ้ง ได้ 9 age_str = str(16) # แปลงเป็นข้อความ "16"
⚠️ ข้อผิดพลาด (Error) ที่พบบ่อย
x = int("abc") # ❌ เกิด ValueError เพราะ "abc" แปลงเป็นตัวเลขไม่ได้
4 ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operators)
| เครื่องหมาย | ความหมาย | ตัวอย่าง | ผลลัพธ์ |
|---|---|---|---|
| + | บวก | 5 + 2 | 7 |
| - | ลบ | 5 - 2 | 3 |
| * | คูณ | 5 * 2 | 10 |
| / | หาร (ทศนิยม) | 5 / 2 | 2.5 |
| // | หารปัดเศษทิ้ง | 5 // 2 | 2 |
| % | หารเอาเศษ (Modulo) | 5 % 2 | 1 |
| ** | ยกกำลัง | 5 ** 2 | 25 |
💡 ลำดับความสำคัญของเครื่องหมาย (PEMDAS)
ไพทอนคำนวณตามหลักคณิตศาสตร์: วงเล็บ () > ยกกำลัง ** > คูณ/หาร *, /, //, % > บวก/ลบ +, -
เช่น 2 + 3 * 4 จะได้ 14 (ทำคูณก่อน)
5 ตัวดำเนินการกำหนดค่า (Assignment Operators)
เครื่องหมาย = ไม่ได้หมายถึง "เท่ากับ" แต่หมายถึง "การนำค่าทางขวาไปเก็บในตัวแปรทางซ้าย"
count = 5 count = count + 1 # อัปเดตค่า count เพิ่มอีก 1 กลายเป็น 6 count += 1 # เขียนแบบย่อ ( +=, -=, *=, /= ) กลายเป็น 7 print(count)
🔍 ระวัง: = ไม่เหมือนกับ ==
- •
=ใช้สำหรับกำหนดค่า (Assignment) เช่นx = 5 - •
==ใช้สำหรับเปรียบเทียบว่าเท่ากันหรือไม่ เช่นx == 5(จะได้ True/False)
📋 สรุปสิ่งที่เรียนรู้ในบทนี้
int, floatตัวเลข
str, boolข้อความ, จริง/เท็จ
%หารเอาเศษ
**ยกกำลัง
🟢 ระดับ 1 โจทย์พื้นฐาน: แปลงอุณหภูมิ Celsius เป็น Kelvin
จงเติมโค้ดในช่อง ___ เพื่อแปลงอุณหภูมิร่างกายมนุษย์จากเซลเซียสเป็นเคลวิน (สูตร: K = C + 273.15)
celsius มาบวก 273.15 แล้วเก็บลงในตัวแปร kelvin ก่อนสั่ง print(kelvin)
กดปุ่ม "รันโค้ด" หรือ "ตรวจคำตอบ" เพื่อดูผลลัพธ์...
🟡 ระดับ 2 โจทย์ท้าทาย: คำนวณค่าดัชนีมวลกาย (BMI)
กำหนดตัวแปร weight = 65.0 (กก.) และ height = 1.72 (เมตร)
จงเขียนโค้ดคำนวณค่า BMI จากสูตร: BMI = น้ำหนัก / (ส่วนสูงยกกำลัง 2)
** เช่น height ** 2 แล้วนำ weight มาหาร
กดปุ่ม "รันโค้ด" หรือ "ตรวจคำตอบ" เพื่อดูผลลัพธ์...
🔴 ระดับ 3 โจทย์สร้างสรรค์ (ALPS-AI): เครื่องมือแปลงหน่วยตามสาขาที่สนใจ
เขียนโปรแกรมคำนวณแปลงหน่วยทางวิทยาศาสตร์ โดยเลือก 1 หัวข้อต่อไปนี้:
🌱 ชีวะ: แปลงขนาดเซลล์ ไมโครเมตร (µm) ให้เป็น มิลลิเมตร (mm) (หาร 1000)
🚀 ฟิสิกส์: แปลงพลังงาน อิเล็กตรอนโวลต์ (eV) ให้เป็น จูล (Joule) (คูณ 1.6 x 10-19)
🧪 เคมี: คำนวณมวล (gram) ของน้ำ จากจำนวนโมล (mol) (คูณ 18.015)
"คุณคือนักวิทยาศาสตร์ ช่วยเขียนโปรแกรม Python แปลงหน่วยวัดทางวิทยาศาสตร์ (เช่น ไมโครเมตรเป็นมิลลิเมตร หรือ จูลเป็นอิเล็กตรอนโวลต์) พร้อมอธิบายตัวแปรและสูตรคำนวณ"
moles = 2.5molar_mass_water = 18.015grams = moles * molar_mass_waterprint("มวลของน้ำ =", grams, "กรัม")
กดปุ่ม "รันโค้ด" เพื่อดูผลลัพธ์...
แบบบันทึกผลงานโครงงานและการตรวจทานโค้ด (ALPS Portfolio)
บันทึกขั้นตอนการออกแบบแนวคิด คำสั่ง และการตรวจทานโค้ดจาก AI เพื่อประเมินผลการเรียนรู้
ตอบคำถาม 5 ข้อ เพื่อประเมินความเข้าใจและบันทึกผลการเรียนรู้ของบทที่ 2:
1. ชื่อตัวแปรข้อใดตั้งได้ ถูกต้อง ตามหลักภาษาไพทอน?
2. คำสั่ง type(3.14) จะให้ผลลัพธ์ชนิดข้อมูลอะไร?
3. หากรันคำสั่ง int('abc') จะเกิดผลลัพธ์ใด?
4. คำสั่ง 10 % 3 มีค่าเท่ากับเท่าใด?
5. จากหลัก PEMDAS ผลลัพธ์ของ 2 + 3 * 4 จะมีค่าเท่าใด?