บทความ

12. มาตามคำขอ แปลงเลขจำนวนเต็ม เป็น คำอ่านภาษาไทย

รูปภาพ
    ครั้งนี้ มาตามคำขอนะครับ สืบเนื่องจากโพสที่ 11 การแปลงตัวเลขจำนวนเต็มเป็นคำิ่านภาษาอังกฤษ และมีการร้องขอ การแปลงเลขจำนวนเต็มเป็นคำอ่านภาษาไทย โดยใช้คำทับศัพท์หรือคำคาราโอเกะ ในการแสดงผล ส่วนใครอยากได้คำอ่านภาษาไทยแท้ ๆ ก็แค่เปลี่ยนคำคาราโอเกะ เป็นภาษาไทยเท่านั้นครับ     หลักในการอ่านตัวเลขตามหลักภาษาไทย จะมี คำอ่านของหลักของตัวเลข เป็นคำเฉพาะ ได้แก่ สิบ ร้อย พัน หมื่น แสน ล้าน และมีคำอ่านเฉพาะของเลข 1 คือ ถ้าเป็นหลักหน่วย ให้อ่านว่า"เอ็ด" ถ้าเป็นหลักสิบ จะอ่านว่า"สิบ" ไม่ได้อ่าน"หนึ่งสิบ" ส่วนเลข 2 ถ้าเป็นหลักสิบ ให้อ่านว่า"ยี่" นอกเหนือจากนี้เป็นการอ่านตามชื่อของตัวเลขนั้น ๆ ขั้นตอนวิธี      1. รอรับตัวเลขจำนวนเต็มจากผู้ใช้      2. แปลงตัวเลขดังกล่าวป็นข้อความ      3. คำนวณหาความยาวของตัวเลขที่รับเข้ามา      4. วนรอบ เท่ากับความยาวของตัวเลขที่ได้รับ แล้วทำสิ่งต่อไปนี้          1. ถ้า ความยาวมากกว่า 1 หลัก และ ตัวเลขตัวสุดท้าย เป็น 1           ...

11. วิธีแปลงตัวเลข เป็นคำอ่าน ด้วย ภาษาไพธอน

รูปภาพ
    ครั้งนี้ จะมาแนะนำการเขียนโค้ด ไพธอน เพื่อ แปลงค่าตัวเลข ไม่เกิน 9 หลัก ให้เป็นคำอ่านเบื้องต้น ส่วนท่านใดจะนำไปดัดแปลงอย่างไรให้ตรงใจตนเอง ก็เชิญตามสะดวกครับ เพราะผมคงเสนอเป็นแนวทางไว้เท่านั้น สำหรับวิธีในการแปลง หากพิจารณาให้ดี จะพบว่า การอ่านออกเสียงภาษาอังกฤษ สำหรับตัวเลขจำนวนเต็มนั้น จะมีจำนวนเป็นหน่วย สิบ ร้อย พัน และ ล้าน  ไม่มี หมื่น แสน แต่จะนับเป็นจำนวนเท่าของพัน ดังนั้นในการแปลงจำนวนเลข เป็นคำอ่าน ก็น่าจะง่ายขึ้น โดยทำงานแบบวนรอบ 3 รอบ โดยในแต่ละรอบ จะทำการแปลงค่าหลักร้อย หลักสิบ และ หลักหน่วย ก็จะแปลงค่าตัวเลขทั้ง 9 ตัวได้สำเร็จ ขั้นตอนวิธี 1. ประกาศตัวแปรประเภท List ไว้เก็บคำอ่าน หลักหน่วย หลักสิบ หลักสิบที่ลงท้ายด้วยแบบพิเศษ และเก็บค่าที่เป็น ร้อย พัน และ ล้าน 2. รอรับตัวเลขจำนวนเต็มจากผู้ใช้ 3. ตรวจสอบว่าเลขที่รับมา ถ้ายาวมากกว่า 9 หลัก ให้รอรับค่าอีกครั้ง 4. แยกตัวเลขดังกล่าวออกเป็น 3 กลุ่ม กลุ่มที่ 1 เก็บเลข 1 ล้าน ถึง ไม่เกิน 1 พันล้าน กลุ่มที่ 2 เก็บเลข 1 พัน ถึง ไม่เกินแสน กลุ่มที่ 3 เก็บเลข 0 ถึง ไม่เกินพัน 5. วนรอบการทำงาน 3 รอบ โดยในแต่ละรอบ ทำง...

10. ฟังก์ชั่น zip () ในภาษาไพธอน

รูปภาพ
    ครั้งนี้มาทำความรู้จักกับ ฟังก์ชั่น zip() ในภาษา Python กันสักเล็กน้อย ซึ่งฟังก์ชั่นนี้ มิได้ทำหน้าที่บีบอัดข้อมูล ตามความหมายที่คุ้นเคยกันมา แต่ ฟังก์ชั่น zip ในที่นี้ เป็นการทำงานคล้ายการรูดซิป ซึ่งคุ้นเคยกันในชีวิตประจำวัน เมื่อรูดปิดซิปเข้าด้วยกัน ซี่ฟันของซิป ทั้งสองด้าน จะถูกอัดเข้าด้วยกันเป็นคู่ ๆ ไป แต่หากซิบข้างใดข้างหนึ่ง สั้นกว่าอีกข้างหนึ่ง การรูดซิปในครั้งนั้น ก็จะถูกอัดเข้าหากันได้ตามจำนวนซี่ฟัน ฝั่งที่สั้นกว่าเสมอ       รูปที่ 1 แสดงการเปรียบเทียบ การรูดซิป ซึ่งมีความยาวไม่เท่ากัน     ผลที่ได้รับจากการทำงานของ ฟังก์ชั่น zip () ก็เช่นกัน จะเป็นการวนซ้ำแบบขนานอย่างมีประสิทธิภาพบนชุดข้อมูลหลายตัว เช่น มีข้อมูลประเภท List จำนวน 2 ชุด คือ L1 และ L2 เมื่อใช้ฟังก์ชั่น zip () เพื่อทำการจับคู่ List ทั้งสอง เข้าด้วยกัน ผลลัพธ์ที่ได้ จะเป็น List ที่ประกอบด้วย tuple ย่อย ตามเงื่อนไขต่อไปนี้  1. L1 มีจำนวนสมาชิก L1 ไม่เท่ากับ L2 ผลลัพธ์ที่ได้ จะเป็น List ที่มีจำนวนสมาชิกเท่ากับจำนวนของสมาชิกที่มีใน List ที่สั้นกว่า ตามตัวอย่างที่ 1 2. L2 มี...

9. การสร้าง ระบบสนทนา โต้ตอบอัตโนมัติ ด้วย (Python chat bot)

รูปภาพ
    สำหรับครั้งนี้ ก็จะมานำเสนอการสร้าง ระบบสนทนา โต้ตอบอัตโนมัติ ด้วยโค้ดภาษาไพธอน กันนะครับ โดยแนวคิดในการพัฒนาระบบนี้ มองไปที่หลักการในการโต้ตอบโดยอัตโนมัติ แต่ทั้งนี้ก็ขึ้นอยู่กับฐานข้อมูลที่ผู้พัฒนาได้จัดเตรียมไว้ ว่าจะใช้งานได้กว้างขวาง หลากหลายเพียงใด ในอันดับแรกจะต้องลงมือสร้างแฟ้มฐานข้อมูล ที่เก็บประโยคในการสนทนา ในที่นี้จะจัดเก็บเป็นไฟล์ csv ซึ่งสะดวกในการสร้างและแก้ไขปรับปรุง จากนั้นก็ลงมือเขียนโค้ดภาษาไพธอน แล้วทดลองใช้งาน หาข้อผิดพลาด เพื่อจะได้ปรับปรุงแก้ไขและนำไปใช้งาน     ขั้นตอนในการทำงาน 1. สร้างแฟ้มฐานข้อมูล โดยพิมพ์ประโยคที่ระบบจะได้รับจากผู้ใช้ และประโยคที่จะใช้ในการโต้ตอบ คั่นด้วยเครื่องหมาย จุลภาค ในตัวอย่างนี้ มีเพียง 40 ประโยค แล้วบันทึกเป็นไฟล์ชื่อ idialog.csv ดังนี้ iquiz,ireply bye,See you again later do you think of me,I always think of you good afternoon,Good afternoon sir good bye,Boring me don't you good morning,Good morning sir good night,Good night go to travel,You only think about traveling great,I think you may glad hello,How are y...

8. การสร้าง QR Code อย่างง่าย ด้วย Python

รูปภาพ
    ครั้งนี้ ก็จะมานำเสนอ วิธีการสร้าง QR Code อย่างง่าย ด้วย Python ในที่นี้ขออ้างอิงว่า เครื่องที่ท่านใช้ มีการติดตั้งPython IDE ไว้แล้ว และใช้งานอยู่ ในตัวอย่างนี้จะอ้างถึง IDE ที่ชื่อว่า Thonny หากใครยังไม่มีไว้ใช้ ก็ไปดาวน์โหลดได้ที่เว็บไซต์  https://thonny.org/  ได้เลยครับ มีไว้บริการท่าน เพื่อการใช้งานบนระบบปฏิบัติการ Windows, Mac และ Linux      อย่างไรก็ตาม ไม่ว่าท่านจะใช้ Python ตัวใด ท่านก็ต้องทำการติดตั้ง ไลบรารี่ QR Code ลงในเครื่องของท่านเสียก่อน ถ้าใช้ Python จากเว็บไซต์ python.org ก็ให้เปิดหน้าต่าง command prompt ขึ้นมา แล้วพิมพ์คำสั่ง นี้ลงไป >>pip install qrcode รอสักครู่ และ pip install image ก็จะใช้งานได้ หากใช้ Thonny ก็ให้เลือกเมนู Tools Open system shell... ก็จะได้หน้าต่าง command prompt ขึ้นมา เช่นเดียวกัน จากนั้นก็พิมพ์คำสั่ง >>pip install qrcode รอสักครู่ และ pip install image ลงไป แล้วรอสักครู่เช่นกัน รูปภาพต่อไปนี้ เป็นตัวอย่างจาก แอปพลิเคชั่น Thonny รูปที่ 1 แสดงเมนู Tools สำหรับเรียกใช้งาน shell รูปที่...

7. ยันต์ ตรีนิสิงเห ยุคดิจิตัล ด้วย Python

รูปภาพ
ครั้งนี้จะมานำเสนอ การเขียนโค้ด Python ให้เป็น ยันต์ ตรีนิสิงเห ซึ่งเป็นยันต์ที่มีพลังพุทธคุณสูงมาก  เพราะ ยันต์ตรีนิสิงเห เป็นยันต์ครูใหญ่แห่งยันต์ทั้งปวง มีคุณทางด้านเมตตามหานิยม แคล้วคลาด ปัดป้องสิ่งอัปมงคล เสนียดจัญไร ที่สำคัญยังช่วยหนุนนำดวงชะตามิให้ตกต่ำอีกด้วย เริ่มต้นกันเลยดีกว่าครับ ก่อนอื่นต้องวิเคราะห์โจทย์ปัญหาเสียก่อน ว่าจะมีแนวทางในการดำเนินการได้อย่างไรบ้าง ผลจากการวิเคราะห์ ได้ผลดังนี้ 1. ยันต์ดังกล่าว มีองค์ประกอบ ดังนี้ 1.1  รูปสี่เหลี่ยมจัตุรัส ขนาดใหญ่ วางอยู่ในแนวตั้ง 1.2 มีเส้นทะแยงมุมทั้งสองแนวในรูปสี่เหลี่ยมจัตุรัสใหญ่ 1.3 รูปสี่เหลี่ยมจัตุรัส ขนาดครึ่งหนึ่งของสี่เหลี่ยมจัตุรัสใหญ่ วางอยู่ในแนวทะแยงของ สี่เหลี่ยมจัตุรัสใหญ่ 1.4  มีรูปวงกลมขนาดเล็ก วางอยู่ที่จุดยอดของสี่เหลี่ยมจัตุรัสทั้งสองรูป รวม 8 วง 1.5  มีเลขไทย วางอยู่ในพื้นที่ต่าง ๆ ภายในรูปสี่เหลี่ยมจัตุรัส เป็นเลข ๑ ถึง ๙ โดยมีเลข ๕ จำนวน 4 แห่ง 2.  วางแผนในการเขียนโค้ด เนื่องจากหน้าต่างแสดงผลของ Turtle มีขนาดเริ่มต้นแบบจำเพาะ ดังนั้น 2.1 จึงจะสร้างรูปภาพยันต์ดังกล่าว ด้วยขน...

6. ฟังก์ชั่นภายในของ Python ที่น่าสนใจ

ครั้งนี้จะขอกล่าวถึง ฟังก์ชั่นภายใน ของ Python ที่น่าจะเป็นประโยชน์  ฟังก์ชัน map() เป็นฟังก์ชันที่มีลำดับสูงกว่า ฟังก์ชันนี้ยอมรับฟังก์ชันอื่นและลำดับของข้อมูลที่ทำซ้ำได้ (iterables) เป็นพารามิเตอร์ และผลลัพธ์หลังจากใช้ฟังก์ชันนี้กับแต่ละข้อมูลที่ทำซ้ำได้ในลำดับ มีรูปแบบคำสั่ง ดังนี้: รูปแบบคำสั่ง: map(function,iterables) ฟังก์ชันนี้ใช้เพื่อกำหนดนิพจน์ซึ่งจะนำไปใช้กับข้อมูลที่ทำซ้ำได้ ฟังก์ชันที่ผู้ใช้กำหนดเองและฟังก์ชัน lambda  สามารถส่งไปยังฟังก์ชัน map ได้ ฟังก์ชันที่ผู้ใช้กำหนด สามารถส่งไปยังเมธอด map() ผู้ใช้เพียงคนเดียว ที่สามารถเปลี่ยนพารามิเตอร์ ของฟังก์ชันเหล่านี้ได้ ตัวอย่างที่ 1 def myfunc(a):     return len(a) x = map(myfunc, ('apple', 'banana', 'cherry')) # convert map into list print(list(x)) ผลลัพธ์ที่ได้ คือ [5, 6, 6] ********************************* ตัวอย่างที่ 2 def myfunc(a, b):      return a +'-'+ b x = map(myfunc, ('apple', 'banana', 'cherry'), ('orange', 'lemon', 'pineapple')) #conv...