โดยครูสรุ ยิ า หริ่มเพง็ โรงเรยี นหนองจอกพทิ ยานสุ รณ์ สานกั งานเขตหนองจอก กรุงเทพมหานคร
ร้จู กั ไพทอน ไพทอนเปน็ ภาษาทง่ี ่ายต่อการเรม่ิ ต้นเรียนร้กู ารเขยี นโปรแกรม มีโครงสรา้ งคาส่งั ที่ไมซ่ ับซอ้ น มีชุดคาส่งั ทีท่ างานทางด้านกราฟิกให้ เลอื กใชง้ านได้สะดวก สามารถทดสอบการทางานตามคาส่งั และ ตรวจสอบผลลพั ธไ์ ด้ทนั ที นักเรียนสามารถนาภาษาไพทอนไปใชใ้ นการ เขยี นโปรแกรมที่ซบั ซอ้ นเพ่ือการทางานจริงได้
รู้จกั ไพทอน เคร่อื งมอื พฒั นาโปรแกรม การเขยี นโปรแกรมไพทอนจะใชเ้ ครือ่ งมือชว่ ยในการพฒั นาโปรแกรมทเ่ี รียกว่า ไอดอี ี (Integrated Development Environment: IDE) ซ่ึงประกอบดว้ ยเครือ่ งมอื แก้ไข โปรแกรมต้นฉบับ (source code editor) เครอ่ื งมือแก้ไขจุดบกพร่องของโปรแกรม (debugger) และเครือ่ งมือช่วยใหโ้ ปรแกรมทางาน หรือรนั โปรแกรม (run) ไพทอนไอดอี ี โดยทว่ั ไปจะทางานตามคาสัง่ ได้ใน 2 โหมด คือ 1. โหมดโตต้ อบหรือโหมดอิมมีเดียท (immediate mode) 2. โหมดสคริปต์ (script mode)
รจู้ ักไพทอน เครื่องมอื พฒั นาโปรแกรม 2. โหมดสคริปต์ (script mode) 1.หมวดโต้ตอบหรือโหมดอิมมเี ดยี ท 21.หมโวหดมโดตสต้ คอรบิปหตร์ ือ(โsหcมriดpอtมิ มmเี oดdียeท) (immediate mode) ผใู้ ช้ตจะอ้ พงมิพพิมค์พา์คสา่ังสภง่ั าไษพาทไอพนทหอลนาลยงคใานสส่งั ว่ นที่ ปเรรยี ะกกวอา่ บกเชันลใลห์ เ้ ป(sน็ hโeปllร)แกหรมือทค่ีสอนมบโซูรลณ์ แลว้ (บcันonทsกึ oเlปe)็นไทฟลี ะ์ไคว้กาส่อง่ัน แเพละอ่ื ตทัว่จี แะปสลงั่ ภใหาษ้ตาวั ไแพปล ภทาอษนาไพ(pทyอthนoทnางiาnนteตrาpมreคtาeสr)่ังทจง้ั ะหแมปดลใคนาส่ัง หโปารกแไกม่มรีขม้อตผง้ั ดิ แพตล่คาดสจ่งั ะแทรากงาจนนคถาสงึ ค่งั ดาสงั ั่งกลา่ ว สพรดุ อ้ทม้าแยสตดอ่ งเนผอ่ืลงลกพั นั ธไ์ทปนั ที ถแ้าตหห่ ากากตคอ้ างสกัง่ ามรี ขต้อรผวดิจสพลอบาดคกว็จามะแถสูกดตง้อขง้อขผอดิงคพาลสาดง่ั สามารถใช้ โ(eหrมrดorอิมmมีเeดsียsaทgใeน)การทดสอบได้
การเขียนโปรแกรมไพทอนในโหมดสคริปต์ ในโหมดสครปิ ต์ นักเรียนต้องเขยี นชดุ คาส่งั ไพทอนที่ต้องการทางานให้ ครบถว้ นทงั้ หมดกอ่ น ซง่ึ เรยี กวา่ โปรแกรม โดยจะต้องบนั ทึกไว้เปน็ ไฟล์ แล้วจึง ส่ังโปรแกรมทางานตามคาส่งั ท้งั หมดตามลาดับ เรียกวา่ การรัน โปรแกรม ข้อดีของการการทางานโดยใชโ้ หมดสคริปต์ คอื ผู้ใชส้ ามารถบันทึก เก็บไวเ้ ปน็ ไฟลไ์ ด้ เพ่ือจะไดน้ ามาแก้ไขเพมิ่ เตมิ ไดใ้ นภายหลัง และยังสามารถสั่ง รันโปรแกรมที่บนั ทึกไวไ้ ด้หลายครั้ง
รู้จกั ไพทอน เครือ่ งมอื พฒั นาโปรแกรม เกรด็ น่ารู้ การเขียนโปรแกรมไพทอนออนไลน์ หาก คอมพวิ เตอรท์ ใ่ี ช้งานอยู่ เช่อื มตอ่ อนิ เทอร์เนต็ นักเรียนสามารถฝึกฝนการเขยี นโปรแกรมภาษาไพ ทอนแบบออนไลน์ได้จากเว็บไซตท์ ใ่ี หบ้ ริการตวั แปล ภาษาไพทอน ซงึ่ มีอยหู่ ลายเวบ็ ไซต์ โดยไม่ตอ้ ง ตดิ ตงั้ ตัวแปลภาษาไพทอน หรือไพทอนไอดอี ี เช่น hthtptst:p//sr:e//prl.eitp/lla.intg/ulaagnegsu/paygtehosn/3python3
เร่มิ ตน้ เขียนโปรแกรมภาษาไพทอน คาสง่ั แสดงผลในโปรแกรมภาษาไพทอน print() เปน็ คาสง่ั ชนิดฟังก์ชัน (function) ทาหน้าทแี่ สดงสงิ่ ทอ่ี ย่ภู ายในเครื่องหมายวงเลบ็ ( ) ออกทางจอภาพ ใหส้ ังเกตผลลพั ธท์ ี่ไดว้ า่ ไม่มีเครอ่ื งหมาย \"\"
ใหน้ ักเรยี นพิมพค์ าส่งั ต่อไปนี้แล้วสงั เกตผลลัพธท์ ไ่ี ด้ วา่ เหมือนหรือแตกตา่ งกันอย่างไร และเพราะเหตุใด print(\"3+5\") print(3+5)
ทาใบกิจกรรมที่ 1 คาสัง่ print
ชวนคิด เรอ่ื งชนดิ ของขอ้ มลู สรุ ิยา หริ่มเพ็ง Nongchokpittayanusorn School เปน็ ขอ้ มูลชนดิ ใด???
ชวนคิด เรือ่ งชนดิ ของขอ้ มลู 100 9600 5 12 เป็นข้อมูลชนิดใด???
ชวนคิด เรอ่ื งชนดิ ของข้อมูล 100.50 9.12 5.43 12.87 เปน็ ขอ้ มูลชนดิ ใด???
ชนดิ ขอ้ มลู พืน้ ฐาน โปรแกรมภาษาไพทอนมกี ารแบง่ ประเภทของขอ้ มูลออกเปน็ หลายประเภท โดยมีประเภทข้อมูลพ้ืนฐาน คือ ●ข้อมลู ประเภทขอ้ ความ (string data type) ●ขอ้ มลู ประเภทจานวน (numerical data type)
ชนดิ ข้อมลู พนื้ ฐาน 1) ขอ้ มูลประเภทขอ้ ความ หรอื สตริง (string data type) การกาหนดข้อมลู ท่ีเปน็ ขอ้ ความหรือสตริงให้ใชเ้ คร่อื งหมายอัญประกาศครอบ ข้อความทต่ี ้องการกาหนด โดยเลือกใชไ้ ดท้ ้ังอญั ประกาศเดยี่ ว (') หรือคู่ (\") ตามความเหมาะสม ดงั ตัวอยา่ งตอ่ ไปนี้ print(‚Hello World‛)
2) ขอ้ มลู จานวนข้อมลู ประเภทจานวน (numerical data type) ภาษาไพทอนมีขอ้ มลู จานวนที่สามารถนาไปคานวณทางคณติ ศาสตร์ได้ หลายชนิดในทีน่ ี้จะแนะนา 2 ชนดิ คอื ● จานวนเตม็ (integer หรอื int) สามารถเก็บคา่ จานวนเตม็ บวกและจานวนเตม็ ลบ ● จานวนจรงิ (floating point number หรือ float) สามารถเก็บค่าทงั้ จานวนจรงิ บวก และจานวนจรงิ ลบ ท่ีอยใู่ นรปู ทศนยิ มได้
การรบั ขอ้ มลู จากผู้ใช้ ฟังก์ชนั input() จะรบั ขอ้ มูลเข้าจากผู้ใช้ผ่านทางคยี ์บอรด์ และจะเปน็ ขอ้ มูลชนิดสตริงเท่านน้ั ซ่ึงไมส่ ามารถนาไป คานวณทางคณติ ศาสตร์ได้
พมิ พ์คาส่ังต่อไปนี้แล้วรัน..... input(‚What is your name ? : ‛) input(‚How old are you? : ‛) input(‚กรณุ ากรอกชอื่ ของคณุ ? : ‛) นกั เรียนสามารถกรอกข้อมลู เพือ่ ตอบคาถามเหลา่ น้ไี ด้หรอื ไม่ ?
ทาใบกิจกรรมที่ 2 คาสง่ั input
ตัวแปร (variable) ตวั แปร (variable) ใชใ้ นการอา้ งองิ คา่ ขอ้ มลู โดยตวั แปรจะถูกกาหนดคา่ ดว้ ย เครือ่ งหมาย = เชน่ c = 16 name = \"somchai\" ตวั แปร ชอ่ื c ช้ไี ปยังจานวนเต็ม 16 ตัวแปรช่ือ name ช้ีไปยังสตริง somchai
ตัวแปร (variable) กาหนดใหต้ วั แปร name มคี า่ เป็น \"Ying name = \"Ying\" print(name) แสดงค่าในตัวแปร name ออกมาทางจอภาพ ซึ่งกค็ อื จะไดผ้ ลลพั ธค์ ือ คาวา่ Ying Ying
ตัวแปร (variable) ชวนคดิ ... 1. Ying เปน็ ขอ้ มลู ชนดิ ใด เพราะเหตใุ ด 2. ถา้ เปลีย่ นบรรทดั แรกเป็น name = 2 ผลจากการ ใช้คาสง่ั print(name) เปน็ อย่างไร 3. ผลจากการใช้คาสงั่ print(name+name)เป็นอย่างไร
ทาใบกิจกรรมท่ี 3 การกาหนดค่าตวั แปร
ใบกจิ กรรมท่ี 3 การกาหนดค่าตวั แปร 1. สรา้ งโปรเจคและไฟลไ์ พทอนขน้ึ มาใหมพ่ ิมพค์ าสง่ั ตอ่ ไปนีแ้ ลว้ ส่งั รนั โปรแกรม name1 = 2 name2 = \"Suriya\" print(name1) print(name2) print(name1+name1) print(name2+name2)
การตั้งชือ่ ตวั แปรในไพทอน 1. ชื่อตวั แปรจะประกอบดว้ ยตวั อกั ษร ตวั เลข หรอื เครื่องหมายขีดเสน้ ใต้ เทา่ นนั้ (_underscore) 2. ตอ้ งขึ้นตน้ ดว้ ยตวั อักษรหรอื เคร่ืองหมายขดี เส้นใต้ 3. ตัวอกั ษรภาษาอังกฤษตวั พมิ พเ์ ลก็ และตวั พมิ พใ์ หญจ่ ะถอื ว่าแตกตา่ งกนั ดงั น้นั ตัวแปรชอ่ื count และ Count จงึ เป็นตวั แปรคนละตวั กนั 4. ชอื่ ตวั แปรท่ีต้งั ข้ึนจะต้องไม่ซา้ กบั คาสงวน (keyword) ที่ไพทอนใช้ เปน็ คาส่ัง
การต้ังชอื่ ตวั แปรในไพทอน ชื่อตวั แปรทตี่ ้ังขึน้ จะตอ้ งไมซ่ ้ากับคาหลกั (keyword) ท่ไี พทอนใชเ้ ป็นคาสั่ง โดยคาหลกั มีดงั ต่อไปนี้
ทาใบกจิ กรรมท่ี 4 การตัง้ ชื่อตวั แปร
การต้ังช่อื ตวั แปรในไพทอน กิจกรรม ใหน้ ักเรียนพมิ พ์คาส่งั ต่อไปน้ี แล้วสังเกตผลลพั ธท์ ่ไี ด้ และอธบิ ายว่า เพราะเหตุใดจึงเปน็ เชน่ นนั้ and = \" NP. School \" name = \"NP. School\" print(and) Name = \"NPM. School\" 11name = \"NP. School\" print(name) print(11name) print(Name) _name = \"NP. School\" print(_name)
ตัวดาเนินการทางคณิตศาสตร์ ตวั ดาเนนิ การ หรือ โอเปอเรเตอร์ (Operator) เป็นสัญลกั ษณท์ ี่บอกใหอ้ ินเตอรพ์ รีเตอรด์ าเนนิ การอยา่ งใด อย่างหน่งึ กับขอ้ มูลในตวั แปรและคา่ คงท่ตี ่างๆ เชน่ การคานวณ โดยใชเ้ ครื่องหมาย + , - , * , / และการเปรียบเทียบทใี่ ช้ เครือ่ งหมาย > , < , >= , <= ส่วนข้อมูลทีน่ ามากระทากับตัว ดาเนินการนน้ั เรียกว่า โอเปอแรนด์ (Operand)
ตวั ดาเนนิ การทางคณติ ศาสตร์ นพิ จน์(Expression) เปน็ การนาตวั แปรและคา่ คงที่ มากระทาดว้ ยตัวดาเนนิ การแลว้ ไดอ้ อกมาเป็นค่าผลลัพธ์ ดงั น้นั ในนพิ จนจ์ งึ ประกอบดว้ ย โอเปอแรนด(์ ตวั แปร คา่ คงท)ี่ และตัวดาเนนิ การ
ตวั ดาเนินการทางคณิตศาสตร์ ตวั ดาเนินการ ความหมาย ตัวอย่าง การบวก + การลบ 5+2=7 - การคณู 5-2=3 * 5*2=10 / การหารเอาเศษ(จะได้เป็ นทศนิยม) 5/2=2.5 // หารไมเ่ อาเศษ เอาเฉพาะจานวนเต็ม ทงิ ้ เศษ 5//2=2 % 5%2=1 ** หารเอาเฉพาะเศษ 5**2=25 ยกกาลงั
ลาดบั ความสาคญั ของตวั ดาเนินการ เรยี งลาดบั ความสาคญั ไดด้ ังตารางน้ี ลาดับ ตัวดาเนินการ คาอธิบาย ความสาคัญ () ตวั ดาเนินการที่อยภู่ ายในวงเลบ็ สาคญั มาก ** ยกกาลงั * / % // สาคญั น้อย +- การคณู และการหารแบบตา่ งๆ การบวก การลบ
จงหาคาตอบของ 10-(10+6)/2**3
ตัวดาเนนิ การทางคณิตศาสตร์ เมอ่ื ในนพิ จนม์ กี ารใช้ตัวดาเนินการมากกว่า 1 ตวั ผู้เขียนโปรแกรมต้องตรวจสอบ ลาดบั การทางานของตวั ดาเนินการใหถ้ กู ต้อง เพราะจะส่งผลใหผ้ ลลัพธม์ ีความผิดพลาดได้ เชน่ 2 + 3 * 4 จะได้ผลลพั ธ์เป็น 14 เพราะอนิ เตอรพ์ รเี ตอร์จะให้ 3*4 ก่อนแล้วมา +2 ตัวดาเนินการจะมลี าดับความสาคัญในการทางานกอ่ นหรือหลังตามกฎตอ่ ไปน้ี ●ตวั ดาเนินการในวงเล็บสาคัญท่ีสุด ●ตวั ดาเนินการท่ีมลี าดับความสาคัญมากกว่าจะถกู เลือกมาประมวลผลก่อน ●ตัวดาเนินการทมี่ คี วามสาคญั เท่ากนั จะทาจากซา้ ยไปขวา
ทาใบกจิ กรรมท่ี 5 ตัวดาเนินการ ทางคณติ ศาสตร์
ตัวดาเนนิ การทางคณิตศาสตร์ ให้นกั เรียนพิมพ์คาสั่งต่อไปน้ี แล้วสังเกตผลลัพธ์ทไี่ ด้ และอธิบายวา่ เพราะเหตใุ ดจึงเปน็ เชน่ นนั้ x=9 print(x + y) print(6 + 3 * 4) y=2 print(x - y) print((6 + 3) * 4) print(x * y) print(x / y) print(x % y) print(x // y) print(x**y)
ทาใบกิจกรรมที่ 6 บวกเลข 2 จานวน
ทาใบกิจกรรมที่ 7 คานวณหาอายจุ ากปเี กดิ
เฉลยใบกิจกรรมท่ี 7 คานวณหาอายจุ ากปเี กดิ yearnow=int(input(\"กรุณากรอกค่าปี พ.ศ.ปัจจุบัน : \")) yearborn=int(input(\"กรุณากรอกค่าปี พ.ศ เกดิ : \")) old=yearnow-yearborn print(\"อายุ เท่ากบั : \" , old,\" ปี \")
ทาใบกิจกรรมที่ 8 คานวณหาพ้นื ท่ี สามเหล่ียม
ทาใบกิจกรรมที่ 9 คานวณหาพ้นื ที่สเ่ี หล่ยี ม
ทาใบกิจกรรมท่ี 10 คานวณเงินรา้ นค้า
ทาใบกิจกรรมท่ี 11 โปรแกรมแปลงสกลุ เงนิ
ทาใบกจิ กรรมที่ 12 รว่ มด้วยช่วยแชร์
กิจกรรมที่ 12 ร่วมดว้ ยชว่ ยแชร์ ถ้านกั เรยี นไปรับประทานอาหารฉลองวันปดิ เทอมกับเพอ่ื น และตกลงกนั ว่าจะ จ่ายคา่ อาหารคนละเท่า ๆ กนั นักเรยี นแตล่ ะคนจะตอ้ งจ่ายคา่ อาหารคนละเทา่ ใด ใหใ้ ช้ คาสั่งไพทอนแสดงวธิ ีหาคาตอบทลี ะลาดับ แนวคดิ การแก้ปัญหา 1.totalPrice รบั ค่าอาหาท้งั หมด 2.number รับจานวนผรู้ ับประทานอาหาร 3.avg ค่าอาหารท้ังหมด/จานวนผู้รับประทานอาหาร 4.แสดงผล avg
กจิ กรรมที่ 12 ร่วมดว้ ยชว่ ยแชร์ พมิ พค์ าสัง่ ตอ่ ไปนี้ลงในคอนโซล totalPrice = int(input('ค่าอาหารทงั้ หมด ')) number = int(input('จานวนผ้รู ับประทานอาหาร ')) avg = totalPrice/number print ('จา่ ยค่าอาหารคนละ', avg, 'บาท')
ตเฉัวลอยยกา่ ิจงกทร่ี รต3มวั อ.ยท่า8งี่ที่ 13ร.28ว่ รม่วรมดด่วว้ ยม้วช่วดยยแ้วชชรย์่วชยว่ แยชแรช์ร์ หากทดลองปอ้ นราคาอาหาร และจานวนผูร้ บั ประทานอาหาร เป็น 1,289 บาท และ 15 คน ตามลาดบั จะได้ผลลัพธ์ดงั น้ี >>> totalPrice = int(input('คา่ อาหารทงั้ หมด ')) ราคาอาหารทงั้ หมด >? 1289 >>> number = int(input('จานวนผ้รู ับประทานอาหาร ')) จานวนผู้รับประทานอาหาร >? 15 >>> avg = totalPrice/number >>> print ('จ่ายค่าอาหารคนละ', avg, 'บาท') จ่ายค่าอาหารคนละ 85.93333333333334 บาท
เฉลยกจิ กรรมที่ 12 รว่ มดว้ ยช่วยแชร์ รูปตอ่ ไปนแี้ สดงผลทไ่ี ด้จากการรันหน่งึ ครง้ั แล้วปอ้ นราคาอาหารเปน็ 1,480 บาท และจานวนผู้ รับประทานอาหารเปน็ 9 คน
ทาใบกจิ กรรมที่ 13 ทอนเทา่ ไหร่
กิจกรรมที่ 13 ทอนเท่าไร นักเรยี นซอ้ื แฟลช์ไดรฟ์ ขนาด 32 GB ราคา 117 บาท ทีร่ ้านสะดวกซอ้ื โดยจา่ ยเงินดว้ ยธนบัตรหน่ึงร้อยบาท 2 ใบ ในลิ้นชกั เก็บเงินของรา้ น มีแต่ ธนบัตร 20 บาท และเหรียญหนึ่งบาท พนักงานจะตอ้ งทอนเงินเปน็ ธนบตั ร 20 บาทจานวนกี่ใบ และเหรียญหนงึ่ บาทจานวนก่ีเหรียญ ใหใ้ ช้คาส่ังไพทอน แสดงวิธีหาคาตอบทลี ะลาดบั แนวคดิ การแก้ปัญหา 1.คานวณจานวนเงนิ ทอน 2.คานวณจานวนธนบัตรยส่ี ิบบาททไ่ี ดร้ ับ จากจานวนเงินทอน หารดว้ ย 20 โดยปดั เศษทิ้ง 3.คานวณจานวนเหรียญบาทท่ไี ดร้ บั จากจานวนเงินทอน หารดว้ ย 20 แบบเอาเศษ
เฉตลวั ยอกยจิา่ งกทร่ีรม3ท.6่ี 1ท3อนทเอทนา่ ไเทรา่ ไร พมิ พ์คาส่งั ตอ่ ไปน้ใี นคอนโซล change = 200 - 117 note20 = change // 20 coin1 = change % 20 print(\"เงนิ ทอนทงั ้ หมด\", change ,\"บาท\") print(\" เป็นธนบตั รย่ีสบิ บาท จานวน\", note20, \"ใบ\") print(\" เป็นเหรียญหนงึ่ บาท จานวน\", coin1, \"เหรียญ\")
Search