🐍 Daily Python Problem: ตรวจสอบ Palindrome! ✨

วันนี้มาสนุกกับการเขียนฟังก์ชัน is_palindrome กันค่ะ! Palindrome คือคำหรือประโยคที่อ่านจากหน้าไปหลัง หรือหลังมาหน้า แล้วยังได้ความหมายเหมือนเดิม (เช่น "level", "madam", "racecar")

📝 โจทย์ (Problem & Task):

เขียนฟังก์ชันที่รับ String และคืนค่าเป็น Boolean (True หรือ False) โดยมีเงื่อนไขสำคัญคือ ต้องไม่สนใจตัวพิมพ์เล็ก/ใหญ่ (Case-Insensitive)

💡 วิธีแก้ปัญหาที่สั้นและเร็วที่สุดใน Python!

1. แปลงเป็นตัวพิมพ์เล็กก่อน: ใช้ .lower() เพื่อให้ไม่สนใจ Case

2. พลิกคำ: ใช้เทคนิค Slicing ที่ยอดเยี่ยม: [::-1] เพื่อพลิก String กลับด้าน

3. เปรียบเทียบ: ใช้ == เพื่อเปรียบเทียบ String ต้นฉบับ (ที่แปลงเป็นตัวเล็กแล้ว) กับ String ที่พลิกกลับด้าน (ที่แปลงเป็นตัวเล็กแล้ว)

✨ วิธีแบบ Pythonic (บรรทัดเดียว):

return text.lower() == text.lower()[::-1]

ง่ายกว่านี้ไม่มีอีกแล้ว! ลองดูตัวอย่าง Input/Output แล้วเอาไปฝึกใช้กันนะคะ!

💖 Keep going. การทำโจทย์ทุกวันทำให้เราเก่งขึ้นแน่นอนค่ะ!

#python #programmer #data #ai #learnonlemon8

2025/11/8 แก้ไขเป็น

... อ่านเพิ่มเติมนอกจากการเขียนฟังก์ชัน is_palindrome แบบง่ายๆ ที่เปรียบเทียบข้อความกับข้อความที่กลับด้านแล้ว ยังมีเคล็ดลับเพิ่มเติมที่น่าสนใจสำหรับการตรวจสอบ Palindrome ที่ซับซ้อนขึ้น เช่น การตัดเว้นวรรค การลบเครื่องหมายวรรคตอน หรือตัวอักษรพิเศษก่อนตรวจสอบ เพื่อให้ตรวจสอบประโยคหรือข้อความยาวๆ ได้อย่างแม่นยำมากขึ้น ตัวอย่างเช่น ถ้ามีประโยคว่า "A man, a plan, a canal: Panama" ซึ่งถ้านำมาคำนวณตรงๆ จะไม่ถือเป็น Palindrome แต่ถ้าเราทำความสะอาดข้อความให้เป็นตัวอักษรเล็กทั้งหมด และลบเครื่องหมายเว้นวรรคหรือสัญลักษณ์พิเศษออก ก็จะได้ข้อความที่สามารถตรวจสอบเป็น Palindrome ได้ ใน Python เราสามารถใช้ Regular Expression (regex) ร่วมกับ .lower() และ slicing ในฟังก์ชันของเราได้ง่ายๆ เช่น ```python import re def is_palindrome_advanced(text): cleaned = re.sub(r'[^a-zA-Z0-9]', '', text).lower() return cleaned == cleaned[::-1] ``` การทำแบบนี้ช่วยให้โปรแกรมสามารถตรวจสอบคำและประโยคได้แม่นยำขึ้น และเหมาะกับกรณีใช้งานจริงที่ข้อมูลมักมีอักขระพิเศษผสมอยู่ ถ้าใครเป็นมือใหม่ แนะนำให้ลองเขียนฟังก์ชันแบบง่ายก่อน และค่อยๆ ปรับปรุงไปสู่ระดับสูงขึ้นเพื่อความเข้าใจที่ลึกซึ้งยิ่งขึ้นค่ะ การฝึกเขียนโปรแกรมตรวจสอบ Palindrome ทุกวัน นอกจากจะส่งเสริมฝีมือด้านการเขียนโค้ดแล้ว ยังฝึกให้เราเข้าใจการจัดการกับข้อความและการประมวลผล String ในภาษา Python ได้ดีขึ้นอีกด้วยค่ะ ลองทำดูนะคะ แล้วจะเห็นว่าการแก้โจทย์แบบนี้ช่วยเพิ่มความมั่นใจและทักษะการเขียนโปรแกรมได้จริงๆ!

ค้นหา ·
python คือ

โพสต์ที่เกี่ยวข้อง

ภาพแสดงตัวอย่างโค้ด Python สำหรับตรวจสอบว่ามีคำว่า "free" อยู่ในข้อความ "The best things in life are free!" หรือไม่ โดยใช้คีย์เวิร์ด `in` ซึ่งผลลัพธ์ที่ได้คือ `True`
ภาพแสดงตัวอย่างการใช้คีย์เวิร์ด `in` ในคำสั่ง `if` เพื่อตรวจสอบว่ามีคำว่า "free" อยู่ในข้อความหรือไม่ หากพบจะแสดงข้อความ "Yes, 'free' is present." ออกมา
ภาพแสดงตัวอย่างโค้ด Python สำหรับตรวจสอบว่าไม่มีคำว่า "expensive" อยู่ในข้อความ "The best things in life are free!" หรือไม่ โดยใช้คีย์เวิร์ด `not in` ซึ่งผลลัพธ์ที่ได้คือ `True`
🔍 BASIC PYTHON: ตรวจสอบข้อความย่อยใน String!
การตรวจสอบว่ามีคำหรือวลีที่เราต้องการอยู่ในข้อความหลักหรือไม่ เป็นฟังก์ชันที่ใช้บ่อยมากๆ ในการจัดการ String ค่ะ! 🧵 💡 วิธีตรวจสอบการมีอยู่ของ Substring: • 1. เช็คว่า "มี" (Is Present): ใช้คีย์เวิร์ด in • เราสามารถใช้ if "word" in my_string: เพื่อให้โค้ดทำงานต่อเมื่อพบคำนั้น • ถ
เดฟ

เดฟ

ถูกใจ 2 ครั้ง

ภาพแสดงตัวอย่างโค้ด Python สำหรับประเภทข้อมูล Text Type: str โดยใช้ฟังก์ชัน type() เพื่อตรวจสอบชนิดข้อมูลของตัวแปร 'a' ที่เก็บข้อความ 'Hello World' ซึ่งผลลัพธ์คือ <class 'str'>
ภาพแสดงตัวอย่างโค้ด Python สำหรับประเภทข้อมูล Numeric Types: int, float, complex โดยใช้ฟังก์ชัน type() เพื่อตรวจสอบชนิดข้อมูลของตัวแปร 'x', 'y', 'z' ที่เก็บค่าตัวเลขประเภทต่างๆ
ภาพแสดงตัวอย่างโค้ด Python สำหรับประเภทข้อมูล Sequence Types: list, tuple, range โดยใช้ฟังก์ชัน type() เพื่อตรวจสอบชนิดข้อมูลของตัวแปร 'x', 'y', 'z' ที่เก็บข้อมูลแบบลำดับ
🚀 สรุป Data Types ใน Python ที่ต้องรู้!
นี่คือประเภทข้อมูล (Data Types) พื้นฐานที่สำคัญมากๆ ในภาษา Python ค่ะ/ครับ! การรู้ว่าข้อมูลแต่ละประเภทเก็บค่าอย่างไรและทำงานอย่างไรคือหัวใจของการเขียนโค้ดเลย! 📊 ประเภทข้อมูลหลัก (Key Data Types): • Text Type: str (String) - ใช้สำหรับข้อความ • Numeric Types: int (จำนวนเต็ม), float (ทศนิยม), com
เดฟ

เดฟ

ถูกใจ 8 ครั้ง

🐍 Daily Python Problem: กรองเลขคู่ (Filter Even Numb
โจทย์วันนี้คือการเขียนฟังก์ชัน filter_even_numbers ที่รับ List ของตัวเลข แล้วคืนค่าเฉพาะ "ตัวเลขคู่" ออกมาเท่านั้น! 🎯 📝 โจทย์ (Problem & Task): เขียนฟังก์ชันที่คืนค่า (return) List ใหม่ ที่มีเฉพาะ Even Numbers (ตัวเลขคู่) จาก List เดิม 💡 2 วิธีเทพๆ ในการแก้ปัญหา Filter List ใน Py
เดฟ

เดฟ

ถูกใจ 1 ครั้ง

ภาพแสดงการเข้าถึงตัวอักษรใน String ด้วย Index ใน Python โดย String ถูกมองเป็น Array พร้อมตัวอย่างโค้ดที่แสดงผลลัพธ์ 'H' และ 'e' จากคำว่า "Hello, World!"
ภาพแสดงการวนลูปอ่านตัวอักษรแต่ละตัวใน String โดยใช้ for loop ใน Python พร้อมตัวอย่างโค้ดที่วนลูปคำว่า "banana" และแสดงผลลัพธ์ทีละตัวอักษร
ภาพแสดงการหาความยาวของ String โดยใช้ฟังก์ชัน len() ใน Python พร้อมตัวอย่างโค้ดที่หาความยาวของ "Hello, World!" และแสดงผลลัพธ์เป็น 13
🐍 BASIC PYTHON: มาทำความรู้จักกับ Strings (ข้อความ) กัน!
String ใน Python ไม่ได้เป็นแค่กลุ่มของตัวอักษร แต่มีคุณสมบัติที่น่าสนใจมากค่ะ! 💡 🧵 String เป็นเหมือน Array (ลำดับ/Sequence) String ถือเป็นลำดับของตัวอักษร ซึ่งทำให้เราสามารถ: 1. เข้าถึงตัวอักษรได้ (Indexing): • เหมือนกับ Array ทั่วไป เราสามารถเข้าถึงตัวอักษรแต่ละตัวได้ด้วย Index ที่เริ่มจาก 0
เดฟ

เดฟ

ถูกใจ 7 ครั้ง

3 สัญญาณที่บอกว่าคุณยังเขียน Python แบบยุคเก่าอยู่! 😱เลิกทำแบบนี้
เช็กด่วน! ใครยังเขียน Code แบบเดิมๆ อยู่บ้าง? ถึงเวลาอัปเกรดเป็น Modern Python เพื่อรองรับงาน AI แล้วค่ะ 🛠️🚀 🚩 1. การจัดการข้อมูล: * แบบยุคเก่า: ใช้ Dictionary เปล่าๆ ไม่รู้โครงสร้างข้อมูลที่ชัดเจน เสี่ยง Code พังง่ายมาก • แบบ Modern: อัปเกรดมาใช้ Pydantic กำหนด Schema ให้ชัดเจน มีระบบตรวจสอบอั
เดฟ

เดฟ

ถูกใจ 4 ครั้ง

ดูเพิ่มเติม