เกมส์จับคู่คำศัพท์ อักษรญี่ปุ่นกับรูปภาพ

แบบฝึกหัดสำหรับฝึกท่องจำคำศัพท์ โดยสร้างออกมาในรูปแบบเกมส์จับคู่คำศัพท์ภาษาญี่ปุ่นกับรูปภาพ โดยทำการอ้างอิงคำศัพท์, ความหมายและแบบภาพการ์ตูนประกอบคำศัพท์จากหนังสือ Exercise for practice Japanese vocabularies by using matching game in order to match between alphabets and pictures reference from book. หนังสืออ้างอิง(Reference book) ชื่อหนังสือ(title): Draw Japanese วาด+เขียน ญี่ปุ่น Basic(N5-N4) นักเขียน(author): Ebidora วาดภาพประกอบ(illustrator): Mochikaka สำนักพิมพ์(publisher): พราว ลิงค์หนังสือ(link of book): https://www.proudpoet.com/shop/หนังสือ/ภาษาศาสตร์/draw-japanese-วาดเขียน-ญี่ปุ่น-n5-n4/ โดยแบบฝึกหัดนี้ เกิดจากที่ผู้เขียนได้ฝึกท่องจำคำศัพท์โดยอาศัยการคัดตัวอักษรญี่ปุ่นและวาดภาพประกอบจากหนังสือวันละ 1-4 คำ เมื่อคัดคำศัพท์และฝึกท่องจำ จนครบจำนวนในหมวดคำต่างๆ ก็จะนำมาสร้างเป็นแบบฝึกหัดในรูปแบบเกมส์จับคู่ระหว่างตัวอักษร, โรมันจิและรูปภาพ เพื่อใช้สำหรับกลับมาทบทวนคำศัพท์, ความหมายและภาพประกอบของคำศัพท์นั้นๆ ได้เมื่อเวลาผ่านไป ในเวอร์ชันปัจจุบัน เกมส์จับคู่ตัวอักษรกับรูปภาพได้แบ่งออกเป็นสองส่วนดังนี้ Read more about เกมส์จับคู่คำศัพท์ อักษรญี่ปุ่นกับรูปภาพ[…]

เกมส์จับคู่คำศัพท์ ตัวอักษรจีนกับรูปภาพ

แบบฝึกหัดสำหรับฝึกท่องจำคำศัพท์ โดยสร้างออกมาในรูปแบบเกมส์จับคู่คำศัพท์ภาษาจีนกับรูปภาพ โดยทำการอ้างอิงคำศัพท์, ความหมายและแบบภาพการ์ตูนประกอบคำศัพท์จากหนังสือ Exercise for practice Chinese vocabularies by using matching game in order to match between Chinese alphabets and pictures reference from book. หนังสืออ้างอิง(Reference book) ชื่อหนังสือ(title): Draw Chinese วาด+เขียน จีน Basic(HSK3-HSK4) นักเขียน(author): สิรินดา โสภณอรุณโชติ วาดภาพประกอบ(illustrator): ณัฏฐา จุลเสฏฐพานิช สำนักพิมพ์(publisher): พราว ลิงค์หนังสือ(link of book): https://www.proudpoet.com/shop/ภาษาศาสตร์/draw-chinese-วาดเขียน-จีน-hsk3-hsk4/ โดยแบบฝึกหัดนี้ เกิดจากที่ผู้เขียนได้ฝึกท่องจำคำศัพท์โดยอาศัยการคัดตัวอักษรจีนและวาดภาพประกอบจากหนังสือวันละ 1 คำ เมื่อคัดคำศัพท์และฝึกท่องจำ จนครบจำนวนในหมวดคำต่างๆ ก็จะนำมาสร้างเป็นแบบฝึกหัดในรูปแบบเกมส์จับคู่ระหว่างตัวอักษรจีน, พินอินและรูปภาพ เพื่อใช้สำหรับกลับมาทบทวนคำศัพท์, ความหมายและภาพประกอบของคำศัพท์นั้นๆ Read more about เกมส์จับคู่คำศัพท์ ตัวอักษรจีนกับรูปภาพ[…]

Python – User-defined Exception

Python – User-defined Exception สำหรับ python นั้น มี built-in exception ที่สร้างไว้ให้ใช้งานแล้วหลายชนิดตามที่กล่าวถึงไปในบทก่อนหน้านี้ เพื่อให้สามารถรองรับการเกิดข้อผิดพลาดในรูปแบบต่างๆ ที่สามารถเกิดขึ้นในโปรแกรม นอกจากข้อผิดพลาดในรูปแบบดังกล่าว เรายังสามารถที่จะกำหนดวิธีการรองรับข้อผิดพลาดชนิดใหม่ขึ้นเอง(user-defined exception) เพื่อจัดการข้อผิดพลาด หรือ ส่งข้อข้อมูลเฉพาะเจาะจงให้เหมาะสมตามรูปแบบข้อผิดพลาดนั้นได้อีกด้วย วิธีการสร้างการรองรับข้อผิดพลาดชนิดใหม่ๆ ขึ้นมาใช้งานเองนั้น(user-defined exception) สามารถทำได้โดยการสร้างคลาสใหม่สำหรับข้อผิดพลาดนั้น โดยคลาสใหม่ทุกคลาสที่จัดการกับข้อผิดพลาดนี้จะต้องเป็นคลาสที่สืบทอดมาจากคลาส Exception อาจจะเป็นการสืบทอดโดยตรง หรือ สืบทอดต่อกันมาอีกทอด(derived) จากคลาสต้นแบบที่เป็น built-in exception สำหรับคลาสที่เป็น built-in exception ทุกคลาสที่มีให้ใช้งาน ต่างเป็นเป็นคลาสที่สืบทอดมาจากคลาส Exception นี้เช่นเดียวกัน รูปแบบการสร้าง user-defined exception ที่สืบทอดมาจากคลาส Exception โดยตรง เราสามารถสร้าง user-defined exception ขึ้นมาใช้งานเอง โดยการสร้างคลาสขึ้นมาใหม่ และคลาสเหล่านี้จำเป็นต้องสืบทอดมาจากคลาส Exception โดยตรง หรือ คลาสอื่นๆ ที่สืบทอดมาจากคลาส Read more about Python – User-defined Exception[…]

Python – Exception Handling(Try, Except และ Finally)

Python – Exception Handling(Try, Except และ Finally) ทำความรู้จักกับ exception ในบทนี้เราจะมาพูดถึงขั้นตอนในการเขียนคำสั่งเพื่อดักจับข้อผิดพลาดในรูปแบบต่างๆ ที่อาจเกิดขึ้นได้ในโปรแกรมที่เราเขียนขึ้นมาใช้งาน จากบทที่แล้ว ที่เราได้พูดถึงชนิดของข้อผิดพลาดที่มีให้ใช้งานกันใน python(built-in exception) ซึ่งเมื่อเกิดข้อผิดพลาดในระหว่างการดำเนินการคำสั่งต่างๆ ก็จะมีการแจ้งข้อผิดพลาดนั้นออกมา โดยสามารถจะมีรูปแบบที่เฉพาะเจาะจงตามชนิดของข้อผิดพลาดนั้นๆ หรืออาจจะมีรูปแบบอธิบายข้อผิดพลาดแบบกว้างๆ ก็ได้ เมื่อเกิดข้อผิดพลาด(exceptions) ขึ้นในระหว่างการดำเนินการทำคำสั่ง หากเรามีการเขียนคำสั่งเพื่อจัดการกับข้อผิดพลาดได้ถูกต้องและครอบคลุมถึงชนิดข้อผิดพลาดดังกล่าว และมีการปรับคำสั่งรองรับให้เหมาะสม เราสามารถจะข้ามขั้นตอนที่ทำให้เกิดข้อผิดพลาดนั้นไป และไปทำงานในคำสั่งส่วนอื่นๆ หรืออาจจะให้โปรแกรมหยุดการทำงานแต่ก็แจ้งรายละเอียดข้อผิดพลาดที่เหมาะสมและเข้าใจง่ายได้ แต่หากเราไม่มีการเขียนคำสั่งเพื่อจัดการกับข้อผิดพลาดเลย อาจจะส่งผลให้โปรแกรมที่ดำเนินการอยู่หยุดลงทันที โดยไม่ได้ทำการบันทึกข้อมูลสำคัญ, จัดการกับข้อมูลที่ได้ประมวลผลก่อนหน้า หรือ ปรับข้อความให้เหมาะสมเผื่อให้ผู้ใช้งานสามารถเข้าใจถึงข้อผิดพลาดได้ง่าย ตัวอย่างเช่น ถ้าหากมีการเขียนโปรแกรมให้ฟังก์ชัน A เรียกใช้ฟังก์ชัน B ซึ่งเรียกใช้ฟังก์ชัน C อีกที แล้วมีข้อผิดพลาดเกิดขึ้นในฟังก์ชัน C ถ้าภายในฟังก์ชัน C มีการเขียนคำสั่งเพื่อจัดการข้อผิดพลาด โดยอาจเป็นการระบุค่าที่เหมาะสม หรือปรับอัลกอริทึมให้เหมาะสม แล้วแจ้งข้อมูลข้อผิดพลาดนั้นและวิธีแก้ไขให้ผู้ใช้ทราบเพื่อเป็นข้อมูล ก็สามารถข้ามไปทำคำสั่งอื่นๆ ต่อไปได้โดยไม่หยุดการทำงานของโปรแกรม แต่ถ้าไม่มีการเขียนคำสั่งเพื่อจัดการข้อผิดพลาด(handle exception) ไว้ในฟังก์ชัน C Read more about Python – Exception Handling(Try, Except และ Finally)[…]

Python – Error and Built-in Exceptions

Python – Error and Built-in Exceptions เมื่อต้องเขียนโปรแกรมที่มีความซับซ้อนมากขึ้น บ่อยครั้งภายในระบบที่ซับซ้อนอาจเกิดข้อผิดพลาดในระหว่างการทำคำสั่งต่างๆ ได้ โดยข้อผิดพลาดนั้นอาจจะเกิดขึ้นได้เนื่องจากหลายสาเหตุ ในบทนี้เราจะมาเรียนรู้เกี่ยวกับรูปแบบของ ข้อผิดพลาดที่เกิดจากการเขียนโปรแกรมไม่ถูกต้องตามหลักภาษา และ ข้อผิดพลาดที่เกิดในระหว่างการดำเนินการของโปรแกรม ข้อผิดพลาดที่เกิดจากการเขียนคำสั่งไม่ถูกต้องตามหลักภาษา ข้อผิดพลาดที่เกิดจากการเขียนคำสั่งไม่ถูกต้องตามหลักภาษา(syntax error, parsing error) ข้อผิดพลาดแบบนี้จะเกิดในช่วงที่กำลังแปรผลคำสั่งของโปรแกรม ให้เป็นภาษาของคอมพิวเตอร์เพื่อใช้สำหรับดำเนินการทำคำสั่งต่อไป ซึ่งจะมีการแจ้งข้อผิดพลาดและระบุรายละเอียดว่าคำสั่งส่วนใดที่ไม่ถูกต้องตามหลักภาษา ตัวอย่างการใช้งาน # -*- coding: utf-8 -*- # เรียกใช้งานไลบรารี่ math import math # ฟังก์ชันสำหรับคำนวณระยะทางจากข้อมูลความเร็วต้น, ความเร่งและเวลา def calculate_distance(initial_velocity, acceloration, time) distance = initial_velocity*time + (1.0/2.0)*acceloration*math.pow(time, 2) return distance # คำนวณระยะทางที่ม้าตัวหนึ่งสามารถวิ่งได้ เมื่อเวลาผ่านไป 10 วินาที โดยกำหนดให้ # Read more about Python – Error and Built-in Exceptions[…]

Python – Directory and Files Management

Python – Directory and Files Management สำหรับโปรเจคขนาดใหญ่ที่มีการแยกไฟล์ไว้เป็นกลุ่มตามการทำงานที่เกี่ยวเนื่องกัน อาจจะจัดการนำไฟล์เหล่านั้นมาจัดลงในโฟลเดอร์ย่อยๆ เพื่อจะง่ายต่อการเรียกใช้งาน, ค้นหาและทำการแก้ไข เมื่อมีการแยกส่วนกันสำหรับไฟล์จำนวนมาก เมื่อจำเป็นต้องเรียกใช้งานเพื่อแก้ไข, เพิ่มข้อมูล หรือลบ ไฟล์เหล่านั้น เราก็จำเป็นที่จะต้องสามารถระบุตำแหน่งของแต่ละไฟล์และแต่โฟลเดอร์เหล่านั้น เพื่อจะสามารถดำเนินการได้ถูกต้อง สำหรับ python นั้นสามารถเรียกใช้งานไลบรารี่ เช่น ไลบรารี่ os ในการเข้าถึงและทำการแก้ไขกับโครงสร้างการจัดเก็บข้อมูลของไฟล์และโฟลเดอร์เหล่านั้น พร้อมกับข้อมูลตำแหน่งที่ตั้งของไฟล์ต่างๆภายในระบบปฏิบัติการนั้นอีกด้วย สำหรับในบทความนี้เราจะใช้ตัวอย่าง จากโครงสร้างการจัดเก็บข้อมูลภายในโฟลเดอร์หนึ่งที่ถูกเก็บไว้ตรงตำแหน่ง “/home/<user>/works/python_tutorial/directory_and_files_management/”( โดย <user>: อ้างอิงถึงชื่อผู้ใช้งานระบบปฏิบัติการ ซึ่งอาจจะเปลี่ยนแปลงตามชื่อผู้ใช้งานที่ใช้ login เข้าใช้ระบบปฏิบัติการ ณ เวลานั้น) สำหรับโฟลเดอร์ดังกล่าวนั้นทำการเก็บไฟล์สำหรับข้อมูลเวปไซต์เวปหนึ่ง โดยจะมี ไฟล์ “index.html” สำหรับหน้าหลักของเวปไซต์ โฟลเดอร์ “css” สำหรับเก็บข้อมูลเกี่ยวกับ stylesheet โฟลเดอร์ “javascript” สำหรับเก็บข้อมูลเกี่ยวกับฟังก์ชันต่างๆในภาษา javascript โฟลเดอร์ “images” สำหรับเก็บรูปภาพที่จะต้องทำการใช้งานภายในเวปไซต์ดังกล่าว โดยจะมีโครงสร้างของไฟล์และโฟลเดอร์ดังแผนภาพด้านล่างนี้นี้ สำหรับฟังก์ชันที่เรียกใช้งานในตัวอย่างสำหรับบทนี้นั้น ได้ทำการคำสั่งจาก Read more about Python – Directory and Files Management[…]

Python – File I/O

Python – File I/O ไฟล์ คือ รูปแบบการเก็บข้อมูลบนดิสก์ซึ่งจะใช้ในเก็บข้อมูลในหน่วยความจำแบบถาวร โดยจะใช้ชื่อไฟล์ที่กำกับไว้ตอนบันทึกข้อมูลสำหรับอ้างอิงของตำแหน่งของข้อมูลดังกล่าว โดยการบันทึกข้อมูลในรูปแบบไฟล์บนคอมพิวเตอร์นั้น จะมีชนิดของไฟล์ค่อนข้างหลากหลาย แต่สำหรับชนิดของไฟล์ที่จะยกตัวอย่างในการอ่าน/เขียนข้อมูลสำหรับบทความนี้ เป็นไฟล์ข้อมูลและไฟล์รูปภาพซึ่งจัดเป็นไฟล์ชนิด text และ binary ตามลำดับ ตัวอย่างลักษณะของไฟล์ข้อมูลและรูปภาพ เนื่องจากข้อมูลที่ถูกบันทึกในรูปแบบไฟล์นั้นถูกจัดเก็บบนหน่วยความจำแบบถาวร สำหรับอุปกรณ์ชนิดดังกล่าวดังกล่าว แม้ไม่มีไฟเลี้ยงส่งไปให้อุปกรณ์ก็จะยังมีข้อมูลเก็บอยู่ในหน่วยความจำ(non-valtile memory)หากข้อมูลถูกบันทึกไปแล้ว เช่น อุปกรณ์เก็บข้อมูล ฮาร์ดิสก์(harddisk), ยูเอสบีไดรฟ์(usb drive) โดยหน่วยความจำแบบถาวรนั้นจะมีความแตกต่างกับหน่วยความจำแบบชั่วคราว(volatile memory) เช่นอุปกรณ์จำพวกแรม(RAM: random access memeory) ซึ่งอุปกรณ์เก็บข้อมูลบนหน่วยความจำชั่วคราวนี้ อุปกรณ์ดังกล่าวจะสูญเสียข้อมูลทั้งหมดเมื่อทำการปิดคอมพิวเตอร์ไป เพราะไม่มีไฟส่งไปเลี้ยงให้อุปกรณ์สำหรับเก็บข้อมูลนั้น แต่สำหรับการอ่าน/เขียนข้อมูลในรูปแบบนี้จะใช้เวลาน้อยกว่ามากเมื่อเทียบกับการอ่าน/เขียน ข้อมูลจากหน่วยความจำแบบถาวร การเก็บข้อมูลทั้งหน่วยความจำแบบชั่วคราว(volatile memory)และหน่วยความจำแบบถาวร(non-volatile memory)นั้นจะมีข้อดีข้อเสียแตกต่างกันไป โดยขึ้นอยู่กับบริบทที่ต้องการใช้งาน เราสามารถเลือกใช้การเก็บข้อมูลตามความเหมาะสม โดยในบทความนี้เราจะทำการพูดถึงรายละเอียดการอ่าน/เขียน ข้อมูลซึ่งถูกเก็บไว้ในรูปแบบของไฟล์ ซึ่งเป็นการเก็บข้อมูลในหน่วยความจำแบบถาวรรูปแบบหนึ่ง ขั้นตอนหลักๆ ในการดำเนินการกับไฟล์ เมื่อเราจำเป็นต้องอ่าน/เขียน ข้อมูลออกมาจากไฟล์ที่บันทึกไว้ ก่อนที่จะเริ่มอ่าน/เขียนไฟล์นั้น เราจำเป็นต้องทราบตำแหน่งที่ไฟล์ดังกล่าวถูกบันทึกและชื่อไฟล์ จากนั้นจึงทำการเปิดไฟล์ขึ้นมาหรือทำการสร้างไฟล์ใหม่หากไม่มีไฟล์ดังกล่าวอยู่ แล้วจึงสามารถทำการอ่าน/เขียนข้อมูลของไฟล์ หลังจากดำเนินการกับไฟล์เสร็จสิ้น เราก็จำเป็นต้องทำการปิดไฟล์ด้วย Read more about Python – File I/O[…]

Python – Matrix

Python – Matrix เมทริกซ์(matrix) คือการจัดโครงสร้างข้อมูลในรูปแบบ 2 มิติ(two-dimensional) ซึ่งจะนำข้อมูลตัวเลขไปทำการจัดเรียงให้อยู่ในโครงสร้างซึ่งประกอบด้วยแถว(row)และหลัก(column) จากตารางตัวอย่างนั้น เป็นการจำลองการเก็บข้อมูลจำนวนหนังสือที่อยู่ในคลังสินค้าของร้านหนังสือสาขาต่างๆ โดยจัดเก็บข้อมูลในรูปแบบเมทริกซ์(matrix) ที่มีขนาด 5×4 คือมีข้อมูล 5 แถว และ 4 หลัก เนื่องจากใน python นั้นไม่มีรูปแบบข้อมูลชนิดเมทริกซ์ หากต้องการจัดโครงสร้างข้อมูลให้อยู่ในรูปแบบดังกล่าว ต้องอาศัยการจัดรูปแบบข้อมูลโดยใช้ลิสต์ซ้อนอยู่ภายในลิสต์มาแทน หรืออาจใช้อาเรย์ซ้อนอยู่ภายในอาเรย์จากไลบรารี่ numpy การสร้างข้อมูลในรูปแบบเมทริกซ์ การสร้างเมทริกซ์ของข้อมูลโดยการสร้างลิสต์ซ้อนอยู่ภายในลิสต์ การสร้างเมทริกซ์ของข้อมูลโดยการกำหนดข้อมูลทั้งหมดภายในครั้งเดียว เนื่องจากใน python ไม่มีชุดข้อมูลชนิดเมทริกซ์ ดังนั้นการสร้างข้อมูลรูปแบบเมทริกซ์ต้องอาศัยการสร้างข้อมูลลิสต์ซ้อนอยู่ภายในข้อมูลอีกลิสต์หนึ่งโดยแต่ละลิสต์ภายในจะแยกกันด้วยเครื่องหมาย “, ” และข้อมูลทั้งหมดจะอยู่ภายในเครื่องหมาย “[]” ตัวอย่างการใช้งาน # -*- coding: utf-8 -*- # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลลิสต์ซ้อนอยู่ภายในลิสต์ # เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์แทน โดยทำการเก็บข้อมูลจำนวนหนังสือที่คงเหลือในคลังสินค้า # ของร้านจากสาขาต่างๆ books_in_stores = [[5, 0, Read more about Python – Matrix[…]

Python – Array

Python – Array อาเรย์(array) คือการเก็บข้อมูลเป็นชุดของข้อมูลที่มีลำดับของข้อมูล โดยจะประกอบด้วยข้อมูลหลายๆข้อมูลและมีชนิดของข้อมูลแบบเดียวกัน เช่น อาเรย์ของเลขจำนวนเต็ม(int), อาเรย์ของเลขทศนิยม(float), อาเรย์ของข้อความ(string) ซึ่งโดยปกติจะมีความแตกต่างจากชุดข้อมูลชนิดลิสต์ที่สามารถเก็บข้อมูลได้หลายชนิดภายในลิสต์เดียวกัน ใน python นั้นโดยปกติแล้วจะไม่มีชุดข้อมูลชนิดอาเรย์(array)มาให้ แต่หากต้องการใช้งานในรูปแบบอาเรย์ก็จะใช้การเก็บชุดข้อมูลชนิดลิสต์(list) แต่จะทำการเก็บข้อมูลเพียงชนิดเดียวภายในลิสต์ดังกล่าวแทน เพื่อนำไปใช้งานในรูปแบบของอาเรย์(array) ในกรณีที่จำเป็นต้องใช้งานรูปแบบการเก็บข้อมูลชนิดอาเรย์โดยเฉพาะและมีประสิทธิภาพสูง ก็จำเป็นต้องใช้ไลบรารี่(library)เพิ่มเติม เช่น ชุดข้อมูลชนิดอาเรย์จากไลบรารี่ numpy แทน ซึ่งหากต้องการดำเนินการทางคณิตศาสตร์เฉพาะเจาะจงกับชุดข้อมูลชนิดอาเรย์นั้น การเลือกใช้งานอาเรย์จากไลบรารี่ numpy แทนการใช้การเก็บข้อมูลในรูปแบบลิสต์จะทำให้มีประสิทธิภาพมากกว่า การเลือกใช้ชุดข้อมูลชนิดลิสต์มาแทนเพื่อใช้งานในรูปแบบอาเรย์โดยตรงนั้นจะมีข้อแตกต่างจากการใช้อาเรย์ปกติ เพราะชุดข้อมูลชนิดลิสต์สามารถจะเก็บข้อมูลต่างชนิดกันได้ โดยเราสามารถจะเก็บทั้งข้อมูลเช่น เลขจำนวนเต็ม(integer), เลขทศนิยม(float) และ ข้อความ(string) อยู่ภายในลิสต์เดียวกัน ดังนั้นรูปแบบของการเก็บข้อมูลนั้นจะต้องซับซ้อนขึ้นเพื่อรองรับการทำงานในลักษณะดังกล่าว ทำให้ประสิทธิภาพในการประมวลผลในบางกรณีอาจจะลดลงมากจนสังเกตุเห็นได้ชัดเจน ชุดข้อมูล [1, 2, 3] เป็นตัวอย่างของการใช้รูปแบบชุดข้อมูลชนิดลิสต์เพื่อสร้างชุดข้อมูลในรูปแบบชุดข้อมูลอาเรย์(array)ของ python ซึ่งได้มากจากการสร้างชุดข้อมูลชนิดลิสต์นั่นเอง การสร้างชุดข้อมูลอาเรย์(array) เราสามารถสร้างชุดข้อมูลอาเรย์โดยใช้รูปแบบเดียวกันกับการสร้างชุดข้อมูลชนิดลิสต์ โดยนำข้อมูลชนิดเดียวกันมาแยกแต่ละข้อมูลด้วยเครื่องหมาย “,” และข้อมูลทั้งหมดอยู่ภายในขอบเขตเครื่องหมาย “[]” ตัวอย่างการใช้งาน # -*- coding: utf-8 Read more about Python – Array[…]

Python – Nested Dictionary

Python – Nested Dictionary ชุดข้อมูลชนิดดิกชันนารีที่มีข้อมูลชนิดดิกชันนารีซ้อนอยู่ภายใน(nested dictionary) คือการที่มีการเก็บข้อมูลในรูปแบบชุดข้อมูลชนิดดิกชันนารีอยู่แล้ว และยังมีชุดข้อมูลชนิดดิกชันนารีเป็นข้อมูลย่อยซ้อนอยู่ภายใน เพื่อประกอบกันเป็นชุดข้อมูลชนิดดิกชันนารีที่บรรจุข้อมูลทั้งหมดเพียงแค่ตัวเดียว จากในบทที่แล้วที่ได้พูดถึงการใช้งานชุดข้อมูลชนิดดิกชันนารีโดยใช้ตัวอย่างเป็นชุดข้อมูลของหนังสือเล่มหนึ่ง เราจะยังคงใช้ข้อมูลดังกล่าวในตัวอย่างของบททนี้ โดยจะมีการปรับข้อมูลให้มีรายละเอียดเพิ่มขึ้นสำหรับข้อมูลที่เป็นชื่อของบุคคลทุกชื่อที่มีอยู่ในชุดข้อมูล ให้กลายเป็นชุดข้อมูลชนิดดิกชันนารีแทนที่จะเป็นข้อมูลเดี่ยวเช่นข้อมูลชนิดข้อความ(string) โดยชุดข้อมูลของแต่ละบุคคลจะประกอบด้วยข้อมูลของ ชื่อ(name), วันเกิด(birthday), อีเมลล์(email) * เนื่องจากข้อมูลอีเมลล์ของผู้แปลและอีเมลล์ผู้วาดภาพประกอบเป็นข้อมูลไม่มีอยู่ในข้อมูลจริงในข้อมูลอ้างอิง จึงขอใช้ข้อมูลตัวอย่างแทนสำหรับเนื้อหาในบทนี้ โดยกำหนดให้ ข้อมูลตัวอย่างอีเมลล์ของผู้แปลเป็น “i_am_translator@example.com” ข้อมูลตัวอย่างอีเมลล์ผู้วาดภาพประกอบเป็น “i_am_illustrator@example.com” ข้อมูลเดิม ชื่อหนังสือ(name) เลข isbn(isbn) ชื่อผู้แต่ง(author) ชื่อผู้วาดภาพประกอบ(illustrator) ชื่อผู้แปล(translator) น้ำหนัก(weight) ขนาด(size) สำนักพิมพ์(publisher) วันที่จัดพิมพ์(publish_date) จำนวนหน้า(pages) ประเภทหนังสือ(category) ราคา(price) ข้อมูลใหม่ ชื่อหนังสือ(name) เลข isbn(isbn) ข้อมูลผู้แต่ง(author) ชื่อ(name) วันเกิด(birthday) อีเมลล์(email) ข้อมูลผู้วาดภาพประกอบ(illustrator) ชื่อ(name) วันเกิด(birthday) อีเมลล์(email) ข้อมูลผู้แปล(translator) ชื่อ(name) วันเกิด(birthday) อีเมลล์(email) Read more about Python – Nested Dictionary[…]