วันอังคารที่ 23 มกราคม พ.ศ. 2561

คำนวณ GPA ของแต่ละเทอมและ GPAX ด้วยข้อมูลจากไฟล์ CSV

- what you have done/learned

  • โหลดข้อมูลผลการเรียนจาก Spreadsheet ของงานที่แล้วในรูปแบบไฟล์ CSV
  • ทำการเขียนโค้ด โดยดึงค่าจากไฟล์ CSV มาคำนวณ



  • รูปแบบจากไฟล์ CSV ที่ใช้กับโค้ดนี้ได้
    • Row แรกจะต้องเป็นหัวข้อ จะใช้คำว่าอะไรก็ได้แต่การจัดเรียงต้องเป็นดังข้อถัดไป
    • Column แรกจะเป็นอะไรก็ได้ แต่ต้องไม่เว้นว่างไว้ (ชื่อวิชาดู เหมือนจะเป็นข้อมูลที่เหมาะสมที่สุด)
    • Column ที่สองต้องเป็น หน่วยกิตของวิชา และ Column ที่สามต้องเป็น เกรดของวิชานั้นๆ ตัวอักษรพิมพ์ใหญ่
    • จะมีเพิ่มอีกกี่ Column ก็ได้ แต่ 3 Column ต้องเป็นไปตามที่กำหนดไว้
    • ในแต่ละเทอมต้องมี Row ว่างปิดท้าย เพื่อบอกว่าเกรดของเทอมนั้นๆสิ้นสุดที่จุดนี้
  • ได้เรียนรู้ว่า Python ไม่มี Switch Case
  • ใช้ GIT PUSH ขึ้น GITHUB (ลิงค์อยู่ใน reference)

- any problem/solution

    ปัญหา
        เกิดการ Error ไม่สามารถ decode ได้ เนื่องจากหัวข้อเป็นภาษาไทย
    วิธีแก้
        เพิ่ม encoding='utf-8' เข้าไปในฟังก์ชั่น open
open('MyGrade.csv', encoding='utf-8')

    ปัญหา
        จะใช้ Switch Case ในการแปลงเกรดจากตัวอักษรให้เป็นตัวเลข แต่พบว่าในภาษา Python นั้นไม่มี Switch Case
    วิธีแก้
        ค้นหาข้อมูลจนเจอว่า ให้ใช้ Dictionary แทน โดยทำเป็น method รับค่า argument เข้ามาทำเช็คว่าตรงกับ key ใดแล้วจึง return value ของ key นั้นกลับไป และใส่ .get(x,defualt_value) เผื่อไว้ในกรณีที่ไม่ตรงกับ key ที่กำหนดไว้เลย

- decision

    เลือกใช้ภาษา Python เพราะว่าเคยใช้งานกับไฟล์ CSV ตอนที่เรียนวิชา Building Software II มาก่อนแล้ว

- reference

ไม่มีความคิดเห็น:

แสดงความคิดเห็น