Category Archives: computer

วิทย์ม.ต้น: ใช้ Pillow ใน Python รวมภาพเข้าด้วยกัน

วันศุกร์ที่ผ่านมาเด็กๆหัดใช้ Pillow กันต่อครับ (ต่อจากศุกร์ที่แล้ว) คราวนี้โจทย์คือต่อภาพสองภาพเข้าด้วยกันโดยสามารถกำหนดความสูงหรือความกว้างภาพผลลัพธ์ได้ เด็กๆก็ศึกษาวิธีทำจาก https://automatetheboringstuff.com/chapter17/ และ https://pillow.readthedocs.io/en/stable/handbook/index.html และค่อยๆเขียนโปรแกรมไปครับ

หน้าตาของตัวโปรแกรมจะเป็นประมาณนี้ครับ:

สามารถดาวน์โหลด Jupyter Notebook ที่มีตัวอย่างโค้ดทั้งหมดที่นี่นะครับ

วิทย์ม.ต้น: รู้จัก Dictionary ใน Python, รู้จักใช้ pandas ดูดตารางข้อมูลบนเว็บ

วันนี้เด็กๆมัธยมต้นเรียนรู้เรื่อง dictionary ซื่งใช้เก็บข้อมูลแบบเป็น key/value และเราสามารถใช้ key ไปหา value ได้ เด็กๆเข้าไปอ่านและทดลองเขียนโค้ดที่ https://snakify.org/en/lessons/dictionaries_dicts/

จากนั้นเด็กๆก็ได้เห็นตัวอย่างการใช้ pandas ซึ่งเป็นเครื่องมือจัดการข้อมูลต่างๆได้ง่ายๆใน Python โดยวันนี้เด็กๆได้รู้จักใช้ pandas ดูดข้อมูลที่เป็นตารางบนเว็บต่างๆมาใช้งาน ยกตัวอย่างเช่นถ้าจะหาเมืองหลวงของประเทศต่างๆในโลกก็สามารถไปดึงข้อมูลมาจากวิกิพีเดียหน้านี้:

จากหน้า https://en.wikipedia.org/wiki/List_of_national_capitals

จะเห็นว่ามีตารางเมืองหลวงและประเทศต่างๆอยู่ เราสามารถเรียกใช้ pandas เอาข้อมูลในตารางมาแบบนี้

ตัวแปร tables จะเป็นลิสต์ที่เก็บข้อมูลตารางทั้งหลายในหน้า https://en.wikipedia.org/wiki/List_of_national_capitals ที่เราดูดมา เราสามารถดูว่าได้มากี่ตารางและดูเนื้อหาของตารางแต่ละอันด้วยคำสั่งพวก len(tables) และดู tables[0], tables[1], … เพื่อเลือกตารางที่เราต้องการ ในกรณีนี้ตารางรายชื่อเมืองหลวงอยู่ที่ tables[1] เราสามารถเรียกใช้ข้อมูลหรือบันทึกเก็บเป็นไฟล์ไว้ที่เครื่องเราก็ได้ เช่นถ้าเราต้องการบันทึกเป็นไฟล์ของ Excel เราก็สามารถใช้คำสั่ง to_excel( ) แบบนี้ก็ได้:

เราจะได้ไฟล์ capitals.xls ที่มีข้อมูลเมืองหลวงไว้ใช้ได้ เปิดขึ้นมาหน้าตาแบบนี้ครับ:


ผมแนะนำให้เด็กๆไปเรียนรู้เกี่ยวกับ pandas เพิ่มเติมที่สองลิงก์นี้ครับ:

Quick Tip: The easiest way to grab data out of a web page in Python: https://medium.com/…/quick-tip-the-easiest-way-to-grab-data…

Easier data analysis in Python with pandas (video series): https://www.dataschool.io/easier-data-analysis-with-pandas/

วิทย์ม.ต้น: รู้จักการทำ Trail (ลายวิ่งตาม) ใน Scratch, นั่ง debug โปรแกรมกัน

วันนี้เด็กๆมัธยมต้นก็เขียนโปรแกรม Scratch ของเขากันต่อนะครับ วันนี้รู้จักเทคนิคเพิ่มเติมที่จะทำให้เมื่อตัวละครเคลื่อนไหวจะมีเงาๆเป็นลายวิ่งตาม หน้าตาประมาณนี้ครับ:

มาจาก https://scratch.mit.edu/projects/58897590/#editor ครับ
มาจาก https://scratch.mit.edu/projects/58897590/ ครับ  กดเข้าไปดูโค้ดได้ครับ

วิธีทำก็ทำประมาณนี้ครับ:

เข้าไปดูวิธีได้ที่ https://scratch.mit.edu/projects/58897590/#editor และอ่านวิธีอื่นๆได้ที่ https://en.scratch-wiki.info/wiki/Making_a_Trail ครับ

อันนี้เป็นการใช้เทคนิคในโปรเจ็คผมเองครับ อยู่ที่ https://scratch.mit.edu/projects/227691459/ 

โปรเจ็คจำลองการเคลื่อนที่ของดาวหางที่ถูกแรงโน้มถ่วงของดวงอาทิตย์ดูดครับ โค้ดอยู่ที่ https://scratch.mit.edu/projects/227691459/

โปรเจ็คจำลองการเคลื่อนที่ของดาวหางที่ถูกแรงโน้มถ่วงของดวงอาทิตย์ดูดครับ โค้ดอยู่ที่ https://scratch.mit.edu/projects/227691459/
โปรเจ็คจำลองการเคลื่อนที่ของดาวหางที่ถูกแรงโน้มถ่วงของดวงอาทิตย์ดูดครับ โค้ดอยู่ที่ https://scratch.mit.edu/projects/227691459/

เวลาที่เหลือเราก็มานั่งรีวิวความคืบหน้าของโปรแกรมของเด็กๆแต่ละคน ช่วยกัน debug และหาวิธีแก้ปัญหาต่างๆครับ