บทที่ 8: การสร้างโปรแกรมขนาดเล็ก

8.1 การรวมความรู้ทั้งหมดเพื่อสร้างโปรแกรมขนาดเล็ก (เช่น เครื่องคิดเลข, เกมทายเลข)

หลังจากที่เราได้เรียนรู้เกี่ยวกับการใช้งานตัวแปร, ลูป, เงื่อนไข, ฟังก์ชัน, และการจัดการไฟล์ใน Python แล้ว ในบทนี้เราจะนำความรู้ทั้งหมดมารวมกันเพื่อสร้างโปรแกรมขนาดเล็กที่สามารถทำงานได้จริง ซึ่งเป็นโอกาสดีที่จะฝึกฝนการเขียนโปรแกรมด้วยการพัฒนาโปรแกรมอย่างเต็มรูปแบบ

1. การสร้างเครื่องคิดเลข (Calculator)

เครื่องคิดเลขเป็นโปรแกรมที่ง่ายและใช้พื้นฐานของการรับข้อมูลจากผู้ใช้ (input), การใช้เงื่อนไข (if-elif-else), และฟังก์ชัน (functions) ในการคำนวณทางคณิตศาสตร์

ขั้นตอนในการพัฒนาโปรแกรมเครื่องคิดเลข

  1. รับข้อมูลจากผู้ใช้ว่าต้องการดำเนินการทางคณิตศาสตร์ใด (บวก, ลบ, คูณ, หาร)
  2. รับตัวเลขสองตัวจากผู้ใช้
  3. ใช้เงื่อนไขเพื่อตรวจสอบว่าผู้ใช้เลือกการดำเนินการใดและคำนวณผลลัพธ์
  4. แสดงผลลัพธ์

ตัวอย่างโปรแกรมเครื่องคิดเลข

# ฟังก์ชันสำหรับการบวก
def add(x, y):
    return x + y

# ฟังก์ชันสำหรับการลบ
def subtract(x, y):
    return x - y

# ฟังก์ชันสำหรับการคูณ
def multiply(x, y):
    return x * y

# ฟังก์ชันสำหรับการหาร
def divide(x, y):
    if y == 0:
        return "Error: Division by zero"
    return x / y

# แสดงตัวเลือกการดำเนินการ
print("Select operation:")
print("1. Add")
print("2. Subtract")
print("3. Multiply")
print("4. Divide")

# รับข้อมูลจากผู้ใช้
choice = input("Enter choice (1/2/3/4): ")

# รับตัวเลขสองตัวจากผู้ใช้
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))

# ใช้เงื่อนไขเพื่อตรวจสอบการดำเนินการที่เลือก
if choice == '1':
    print("Result:", add(num1, num2))
elif choice == '2':
    print("Result:", subtract(num1, num2))
elif choice == '3':
    print("Result:", multiply(num1, num2))
elif choice == '4':
    print("Result:", divide(num1, num2))
else:
    print("Invalid input")

อธิบาย: โปรแกรมนี้ใช้ฟังก์ชันเพื่อทำการคำนวณทางคณิตศาสตร์ และใช้เงื่อนไขเพื่อตรวจสอบว่าผู้ใช้เลือกการดำเนินการใด โดยโปรแกรมจะทำการคำนวณและแสดงผลลัพธ์ตามที่ผู้ใช้เลือก

2. การสร้างเกมทายเลข (Number Guessing Game)

เกมทายเลขเป็นโปรแกรมที่ใช้ลูป, เงื่อนไข, และฟังก์ชันในการพัฒนา โดยผู้ใช้ต้องทายเลขที่สุ่มจากระบบและพยายามเดาให้ถูกต้อง

ขั้นตอนในการพัฒนาเกมทายเลข

  1. สุ่มตัวเลขจากระบบในช่วงที่กำหนด
  2. รับค่าที่ผู้ใช้ทาย
  3. เปรียบเทียบค่าที่ทายกับเลขที่สุ่ม
  4. บอกผู้ใช้ว่าค่าที่ทายถูกต้องหรือไม่ หรือให้คำแนะนำว่าเลขมากหรือน้อยเกินไป
  5. ทำซ้ำจนกว่าผู้ใช้จะทายถูก

ตัวอย่างเกมทายเลข

import random

# สุ่มตัวเลขจาก 1 ถึง 100
number_to_guess = random.randint(1, 100)

# จำนวนครั้งในการทาย
attempts = 0

print("I'm thinking of a number between 1 and 100. Try to guess it!")

# วนลูปจนกว่าผู้ใช้จะทายถูก
while True:
    guess = int(input("Enter your guess: "))
    attempts += 1
    
    if guess < number_to_guess:
        print("Too low!")
    elif guess > number_to_guess:
        print("Too high!")
    else:
        print(f"Congratulations! You guessed the number in {attempts} attempts.")
        break

อธิบาย: โปรแกรมนี้สุ่มตัวเลขจาก 1 ถึง 100 และให้ผู้ใช้ทายตัวเลข เมื่อผู้ใช้ทาย ระบบจะบอกว่าตัวเลขที่ทายนั้นสูงหรือต่ำเกินไป และจะวนลูปต่อไปจนกว่าผู้ใช้จะทายถูก

การใช้ฟังก์ชันและการจัดการลูปเพื่อประมวลผลในโปรแกรมขนาดเล็ก

ทั้งเครื่องคิดเลขและเกมทายเลขใช้ฟังก์ชันในการจัดการงานย่อย ๆ เช่น การคำนวณหรือการตรวจสอบความถูกต้อง ฟังก์ชันเหล่านี้ช่วยให้โค้ดมีความยืดหยุ่นและนำกลับมาใช้ซ้ำได้ การใช้ลูปและเงื่อนไขช่วยให้โปรแกรมสามารถทำงานซ้ำตามที่ต้องการได้ ซึ่งเป็นพื้นฐานในการสร้างโปรแกรมที่ซับซ้อนมากขึ้น

สรุป

การรวมความรู้ที่ได้เรียนรู้จาก Python มาสร้างโปรแกรมขนาดเล็กเป็นขั้นตอนสำคัญในการฝึกฝนและเข้าใจการเขียนโปรแกรมมากขึ้น โปรแกรมเช่นเครื่องคิดเลขหรือเกมทายเลขใช้ฟังก์ชัน, ลูป, เงื่อนไข, และการรับข้อมูลจากผู้ใช้เป็นส่วนสำคัญ ซึ่งเป็นพื้นฐานในการพัฒนาโปรแกรมที่ซับซ้อนกว่าในอนาคต