หน่วยที่ 3 EP.4 โปรแกรมมีสมองด้วยการสุ่ม (Random) และเงื่อนไข (If-Else)
  • By Admin
  • 39
  • 26 มี.ค. 2569

หน่วยที่ 3 EP.4 โปรแกรมมีสมองด้วยการสุ่ม (Random) และเงื่อนไข (If-Else)

เรียนรู้การใช้คำสั่งสุ่มค่า (Random) ในภาษาไพทอน และการเขียนโครงสร้างเงื่อนไข If-Else เพื่อให้โปรแกรมสามารถตัดสินใจเลือกการทำงานได้ พร้อมสร้างมินิโปรเจกต์เกมทายตัวเลข

🐍 หน่วยที่ 3: การเขียนโปรแกรมด้วยภาษาไพทอน

EP.4 โปรแกรมมีสมองด้วยการสุ่ม (Random) และเงื่อนไข (If-Else)

เคยสงสัยไหมครับว่าเกมคอมพิวเตอร์ทายใจเราได้อย่างไร? เคล็ดลับอยู่ที่การใช้ "การสุ่ม (Random)" มาผสมกับ "การสร้างเงื่อนไข (If-Else)" เพื่อให้โปรแกรมรู้จักคิดและเลือกทางเดินได้เอง วันนี้เราจะมาเขียนโปรแกรมให้มีสมองกันครับ!

🎲 1. เวทมนตร์แห่งการสุ่ม (Random)

ไพทอนมีเครื่องมือวิเศษที่เรียกว่า "โมดูล (Module)" ซ่อนอยู่ หากเราต้องการสุ่มตัวเลข เราต้องไปเรียกโมดูลชื่อ random ออกมาใช้ก่อน โดยพิมพ์คำสั่ง import random ไว้ที่บรรทัดบนสุดของโปรแกรมเสมอ!

import random  # นำเข้าเครื่องมือสุ่มตัวเลข

# สั่งให้สุ่มเลขจำนวนเต็ม (randint) ตั้งแต่ 1 ถึง 10 เก็บไว้ในตัวแปร machine
machine = random.randint(1, 10)
print(machine)

🔀 2. สร้างทางแยกให้โปรแกรมด้วย If-Else

เมื่อโปรแกรมต้องตัดสินใจ เราจะใช้โครงสร้าง If (ถ้า) และ Else (มิฉะนั้น) ร่วมกับเครื่องหมายเปรียบเทียบ (เช่น ==, >, <)

  • if condition: (ถ้าเงื่อนไขเป็น True) จะทำคำสั่งชุดแรก
  • else: (ถ้าเงื่อนไขเป็น False) จะข้ามไปทำคำสั่งชุดที่สองแทน

⚠️ 3. กฎเหล็ก "การย่อหน้า" (Indentation)

เรื่องนี้สำคัญมาก! ในภาษาไพทอน เราไม่ใช้วงเล็บปีกกาเพื่อบอกขอบเขตการทำงาน แต่เราใช้ "การย่อหน้า (Spacebar หรือ Tab)" แทน
คำสั่งไหนที่ย่อหน้าเยื้องเข้าไปทางขวา ถือว่าเป็น "ลูกน้อง" ที่อยู่ภายใต้คำสั่งหัวหน้า (เช่น if หรือ else)

🎮 4. มินิโปรเจกต์: เกมทายตัวเลข (WINNER / LOSS)

นำความรู้ทั้งหมดมาประกอบร่างเป็นเกม! ให้คอมพิวเตอร์สุ่มเลข 1-10 แล้วให้ผู้เล่นทายเลข หากทายตัวเลขได้ "มากกว่า" ที่คอมพิวเตอร์สุ่มไว้ จะถือว่าชนะ (WINNER)!

import random

machine = random.randint(1, 10) # คอมพิวเตอร์สุ่มเลข
numb = int(input("กรุณากรอกเลข 1-10 : ")) # ผู้เล่นพิมพ์เลข

if numb > machine: # ถ้าเลขผู้เล่น > คอมพิวเตอร์ (อย่าลืมใส่ :)
    print("WINNER") # ย่อหน้า 1 ครั้ง (เป็นลูกน้อง if)
else:
    print("LOSS") # ย่อหน้า 1 ครั้ง (เป็นลูกน้อง else)

✍️ มินิควิซ ประเมินตนเอง (EP.4)

ทดสอบความเข้าใจสัญลักษณ์และคำสั่ง! (ไม่เก็บคะแนน)

ข้อที่ 1: หากต้องการใช้งานคำสั่งสุ่มตัวเลขในภาษาไพทอน ต้องพิมพ์คำสั่งใดไว้ที่บรรทัดบนสุดเสมอ?

ข้อที่ 2: โครงสร้างคำสั่ง If-Else มีประโยชน์อย่างไรในการเขียนโปรแกรม?

ข้อที่ 3: จากโค้ด if numb > machine: หากเงื่อนไขนี้เป็น เท็จ (False) โปรแกรมจะทำอย่างไรต่อไป?

ข้อที่ 4: สิ่งใดที่ถือเป็น "กฎเหล็ก" ในการจัดรูปแบบคำสั่ง If-Else ของภาษาไพทอน เพื่อบอกขอบเขตของคำสั่งลูกน้อง?


แชร์ :

บทเรียนอื่น ๆ