Python Programming (PDF) - ภาษาไพทอน
Document Details
Uploaded by Deleted User
โรงเรียนนายร้อยตำรวจ
2562
ร้อยตำรวจเอก ดร.วงศ์ยศ เกิดศรี
Tags
Summary
This textbook, Python Programming, is part of the digital technology curriculum for police administration students at the Police Academy. It covers fundamental Python programming concepts, data processing, and decision-making, along with strings, files, lists, tuples, sets, dictionaries, functions, and classes, essential for police administration tasks.
Full Transcript
118 การเขียนโปรแกรม ภาษาไพทอน Python Programming หนังสือเล่มนี้เป็นส่วนหนึ่งของเอกสารประกอบการสอน วิชาเทคโนโลยีดิจิทัลสาหรับการบริหารงานตารวจ คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ ร้อยตารวจเอก ดร.วงศ์ยศ เกิดศรี อาจารย์ (สบ 1) กลุ่มงานคณาจารย์ นว.รร.นรต. ...
118 การเขียนโปรแกรม ภาษาไพทอน Python Programming หนังสือเล่มนี้เป็นส่วนหนึ่งของเอกสารประกอบการสอน วิชาเทคโนโลยีดิจิทัลสาหรับการบริหารงานตารวจ คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ ร้อยตารวจเอก ดร.วงศ์ยศ เกิดศรี อาจารย์ (สบ 1) กลุ่มงานคณาจารย์ นว.รร.นรต. 119 การเขียนโปรแกรมภาษาไพทอน Python Programming โดย ร้อยตำรวจเอก ดร.วงศ์ยศ เกิดศรี อำจำรย์ (สบ 1) กลุม่ งำนคณำจำรย์ คณะนิตวิ ิทยำศำสตร์ โรงเรียนนำยร้อยตำรวจ หนังสือเล่มนีเ้ ป็ นส่วนหนึง่ ของเอกสำรประกอบกำรสอน วิชำเทคโนโลยีดจิ ิทลั สำหรับกำรบริหำรงำนตำรวจ คณะนิตวิ ิทยำศำสตร์ โรงเรียนนำยร้อยตำรวจ พิมพ์ครัง้ ที่ 2 กันยำยน 2562 120 คานา หนังสือการเขียนโปรแกรมภาษาไพทอนเล่มนี้ จัดทาขึน้ เพื่อใช้เป็ นเอกสารประกอบการสอนในรายวิชา 312113 เทคโนโลยีดจิ ทิ ลั สาหรับการบริหารงานตารวจ (Digital Technology for Police Administration) ประจาหลักสูตรปริญญา รัฐประศาสนศาสตรบัณ ฑิต สาขาวิชาการต ารวจ ซึ่งเป็ นวิชาหนึ่ งที่อ ยู่ในความรับผิดชอบของคณะนิติวทิ ยาศาสตร์ โรงเรียนนายร้อ ยต ารวจ โดยมีเนื้ อ หาที่เกี่ยวข้องกับ ความรู้เบื้อ งต้นเกี่ยวกับ การเขียนโปรแกรมภาษาไพทอน การ ดาเนินการและประมวลผลข้อมูล การตัดสินใจ การวนซ้า สตริง แฟ้ มข้อมูล ลิสต์ ทูเปิ ล เซต ดิกชันนารี ฟั งก์ชนั และ คลาสและอ๊อบเจ็ค รวมทัง้ สิน้ จานวน 10 บท การจัดพิมพ์หนังสือเล่มนี้เริม่ พิมพ์ครัง้ แรกเมื่อเดือนกันยายน 2561 ซึ่งใช้สาหรับการเรียนการสอนในภาคการ เรียนที่ 2 ปี การศึกษา 2561 และในการพิมพ์ครัง้ นี้เป็ นการพิมพ์ครัง้ ที่ 2 โดยเริม่ ใช้ในเดือนกันยายน 2562 ในภาคการ เรียนที่ 2 ปี การศึกษา 2562 ผู้แต่งหวังเป็ นอย่างยิง่ ว่าหนังสือเล่มนี้จะสามารถนาไปใช้ประโยชน์ ในการเรียนการสอนของรายวิชา 312113 เทคโนโลยีดจิ ทิ ลั สาหรับการบริหารงานตารวจได้ในระดับหนึ่ง เพื่อทาให้นักเรียนนายร้อยตารวจมีความรูค้ วามเข้าใจใน หลักการเขียนโปรแกรมภาษาไพทอนได้มากยิง่ ขึน้ และหวังเป็ นอย่างยิง่ ว่าหนังสือเล่มนี้จะเป็ นพืน้ ฐานที่สาคัญในการต่อ ยอดความรูท้ างด้านการเขียนโปรแกรมคอมพิวเตอร์ของนักเรียนนายร้อยตารวจและผูท้ ่สี นใจต่อไปได้ในอนาคต ร้อยตารวจเอก ดร.วงศ์ยศ เกิดศรี 1 กันยายน 2562 พิมพ์ครัง้ ที่ 2 121 สารบัญ หน้า บทที่ 1 เริ่ มต้นสู่การเขียนโปรแกรมภาษาไพทอน (Introduction to Python Programming) 1 ความรูเ้ บือ้ งต้นเกี่ยวกับภาษาไพทอน (Introduction to Python) 1 ความรูท้ วไปของภาษาไพทอน ั่ 1 การติดตัง้ และใช้งานภาษาไพทอน 1 แนวคิดการเขียนโปรแกรมภาษาไพทอน (Python Programming Concepts) 2 การเรียกใช้งานและประมวลผลภาษาไพทอนกับเชลล์โต้ตอบ (Interactive Shell) 2 การประมวลผลคาสังภาษาไพทอนจากไพล์ ่ *.py 4 คาสังแสดงผล ่ (Print Statement) 5 การออกแบบโปรแกรมคอมพิวเตอร์ (Designing Computer Programs) 8 เครือ่ งหมายและสัญลักษณ์ของผังงาน (Flowchart) 8 ลักษณะและรูปแบบการทางานของโปรแกรม 9 บทที่ 2 การดาเนิ นการและประมวลผลข้อมูล (Data Operations and Processing) 12 ประเภทข้อมูลและตัวแปร (Data Types and Variables) 12 ประเภทข้อมูลหรือชนิดของตัวแปร (Data Types) 12 รูปแบบของข้อมูล (Data Formats) 13 การตัง้ ชื่อตัวแปรและการกาหนดค่าตัวแปร 13 การรับเข้าข้อมูล (Input the Data) 16 การรับข้อมูลผ่านทางแป้ นพิมพ์ (Keyboard Input) 16 รูปแบบการเขียนโปรแกรมรับเข้าข้อมูล 17 การประมวลผลข้อมูล (Data Processing) 18 ตัวดาเนินการ (Operators) 18 ฟั งก์ชนั มาตรฐานทางคณิตศาสตร์ (Mathematic Functions) 19 กฎการพิจารณาลาดับของตัวดาเนินการ (Operator Precedence) 21 การเปลีย่ นประเภทข้อมูล (Type Conversions) 22 บทที่ 3 การตัดสิ นใจ (Decisions) 26 คาสังตั ่ ดสินใจ (Decision Statements) 26 นิยามและข้อกาหนดของคาสังตั ่ ดสินใจ 26 คาสังตั ่ ดสินใจแบบ 1 เงือ่ นไข 26 คาสังตั ่ ดสินใจแบบ 2 เงือ่ นไข 26 คาสังตั ่ ดสินใจแบบมากกว่า 2 เงือ่ นไข (หลายเงือ่ นไข) 27 122 สารบัญ (ต่อ) หน้า เงือ่ นไขในการตัดสินใจ (Conditional Decisions) 29 การเขียนเงือ่ นไขหรือนิพจน์บลู ลีน (Condition / Boolean Expressions) 29 การเขียนเงือ่ นไขแบบซับซ้อน 29 บทที่ 4 การวนซา้ (Iterations) 35 คาสังวนซ ่ ้า (Iteration Statements) 35 นิยามและข้อกาหนดของคาสังวนซ ่ ้าหรือทาซ้า 35 คาสังวนซ ่ ้าด้วยคาสัง่ while 35 คาสังวนซ ่ ้าด้วยคาสัง่ while-True 35 คาสังวนซ ่ ้าด้วยคาสัง่ while-in 36 คาสังวนซ ่ ้าด้วยคาสัง่ for-in 37 การประยุกต์ใช้คาสังวนซ ่ ้า 38 การเลือกใช้คาสัง่ while และคาสัง่ for 38 การสุ่มตัวเลขเพื่อใช้ในการวนซ้า 38 การเก็บค่าในตัวแปรทบยอดโดยใช้การวนซ้า 38 คาสังวนซ ่ ้าแบบซับซ้อน (Complex Iteration Statements) 42 รูปแบบของคาสังวนซ่ ้าแบบซับซ้อน 42 บทที่ 5 สตริ ง (String) 44 ลักษณะทัวไปของสตริ ่ ง (Properties of String) 44 นิยามและข้อมูลเบือ้ งต้นของสตริง 44 โครงสร้างของสตริง 44 บริการของสตริง (Operations of String) 45 ฟั งก์ชนั เมท็อด และคาสัง่ ทีเ่ กีย่ วข้องกับสตริง 45 การใช้คาสังวนซ ่ ้าเพื่อประมวลผลกับสตริง 51 บทที่ 6 แฟ้ มข้อมูล (Files) 53 การประมวลผลกับแฟ้ มข้อมูล (Text File Processing) 53 นิยามและข้อมูลเบือ้ งต้นของแฟ้ มข้อมูล 53 การดาเนินการกับแฟ้ มข้อมูล 53 ขัน้ ตอนการอ่านแฟ้ มข้อมูล 53 ขัน้ ตอนการเขียนแฟ้ มข้อมูล 54 123 สารบัญ (ต่อ) หน้า บทที่ 7 ลิ สต์ (Lists) 60 ความรูเ้ บือ้ งต้นเกี่ยวกับลิสต์ (Introduction to Lists) 60 นิยามของลิสต์ 60 การประกาศและสร้างลิสต์หนึ่งมิติ 60 การเข้าถึงสมาชิกในลิสต์หนึ่งมิติ 60 การประมวลผลกับลิสต์ (Lists Processing) 61 บริการของลิสต์หนึ่งมิติ 61 การใช้คาสังวนซ่ ้าเพื่อประมวลผลกับลิสต์หนึ่งมิติ 63 บทที่ 8 ทูเปิ ล เซต และ ดิ กชันนารี (Tuples, Sets and Dictionaries) 69 ทูเปิ ล (Tuples) 69 ลักษณะทัวไปของทู ่ เปิ ล 69 บริการทีส่ าคัญของทูเปิ ล 69 เซต (Sets) 73 ลักษณะทัวไปของเซต ่ 73 บริการทีส่ าคัญของเซต 73 ดิกชันนารี (Dictionaries) 76 ลักษณะทัวไปของดิ ่ กชันนารี 76 บริการทีส่ าคัญของดิกชันนารี 77 การใช้งานลิสต์ ทูเปิ ล เซต และ ดิกชันนารี 79 เปรียบเทียบคุณสมบัตขิ องโครงสร้างข้อมูลแต่ละชนิด 79 บทที่ 9 ฟั งก์ชนั (Functions) 81 ความรูเ้ บือ้ งต้นเกี่ยวกับฟั งก์ชนั (Introduction to Functions) 81 นิยามของฟั งก์ชนั 81 โครงสร้างของฟั งก์ชนั (Structure of Functions) 82 องค์ประกอบโดยรวมของฟั งก์ชนั 82 การประกาศและสร้างฟั งก์ชนั 82 การเรียกใช้งานฟั งก์ชนั 82 124 สารบัญ (ต่อ) หน้า บทที่ 10 คลาสและอ๊อบเจ็ค (Classes and Objects) 89 ความรูเ้ บือ้ งต้นเกี่ยวกับคลาสและอ๊อบเจ็ค (Introduction to Classes and Objects) 89 แนวคิดการเขียนโปรแกรมเชิงวัตถุ 89 การประกาศและสร้างคลาส (Creating Class) 89 การประกาศและเรียกใช้งานอ๊อบเจ็ค (Using Object) 90 Introduction to Python Programming - 01 312113 Digital Technology for Police Administration 1 40 CHAPTER เริม่ ต้นสูก่ ารเขียนโปรแกรมภาษาไพทอน 1 (Introduction to Python Programming) 1 ความรเ้ ู บื้องต้นเกีย่ วกับภาษาไพทอน (Introduction to Python) 1. ความรู้ทวไปของภาษาไพทอน ั่ 1) ภาษาไพทอน (Python) ถูกพัฒนาขึน้ ในปี พ.ศ. 2533 (ค.ศ. 1991) ภายใต้การดูแลของ มูลนิธซิ อฟต์แวร์ไพทอน (Python Software Foundation, www.python.org) 2) ผูส้ ร้างหรือบิดาของภาษาไพทอน คือ กีโด ฟาน รอสซัม (Guido van Rossum) เป็ นชาว ดัตช์ เคยทางานทีบ่ ริษทั Google ปั จจุบนั ทางานทีบ่ ริษทั Dropbox 3) สัญลักษณ์ของภาษาไพทอนเป็ นรูปงูใหญ่สองตัวเลือ้ ยพันกัน (เพราะเหตุใด?) 4) มีไวยากรณ์ทอ่ี ่านง่ายไม่ซบั ซ้อน และใช้การย่อหน้าแทนการแบ่งบล็อกของโปรแกรม 5) มีค วามยืดหยุ่น ในการเขียนโปรแกรม เช่น ไม่จาเป็ นต้องประกาศตัวแปรก่ อนใช้งาน และตัวแปรหนึ่งตัวสามารถกาหนดค่าได้หลายประเภทข้อมูล เป็ นต้น Ref. Pic: Wikipedia 6) ใช้เวลาในการแปลผลคาสัง่ (Interpret) ไม่นาน (เพราะใช้ Interpreter แทน Compiler) 7) เป็ นภาษาสคริปต์ (Scripting Languages) ทีส่ นั ้ และเขียนง่าย 8) เป็ น ภาษากาว (Glue Language) ที่ส ามารถประสานและเรีย กใช้งานภาษาอื่น ได้อีก หลายภาษา เช่น จาวา (Java), ซี (C), ซีพลัสพลัส (C++) เป็ นต้น 9) สนับสนุ นการเขียนโปรแกรมแบบหลายกระบวนทัศน์ (Multi-paradigm Programming) เช่น การเขียนโปรแกรมเชิงโครงสร้าง (Structured Programming) และการเขียนโปร- แกรมเชิงวัตถุ (Object-Oriented Programming) เป็ นต้น 10) ใช้งานได้กบั หลายแพลตฟอร์ม (Platform) เช่น Windows, Linux, Unix, OS X (Mac OS) เป็ นต้น 11) ใช้งานแพร่หลายในองค์กรชัน้ นาของโลก เช่น Dropbox, Yahoo, Google, NASA, Amazon, SlideShare เป็ นต้น 2. การติ ดตัง้ และใช้งานภาษาไพทอน 1) สาหรับเครื่องคอมพิวเตอร์ทใ่ี ช้ระบบปฏิบตั กิ ารวินโดว์ (Windows) ให้ดาวน์โหลดและติดตัง้ ไพทอนรุ่นที่ 3 (ปั จจุบนั เป็ น Python 3.8.0 เผยแพร่เมือ่ 14 ต.ค.62) ทีเ่ ว็บไซต์ https://www.python.org/downloads/ 2) สาหรับเครื่องคอมพิวเตอร์ท่ใี ช้ระบบปฏิบตั กิ ารแมคโอเอสเอ็กซ์ (Mac OS X) ให้เข้าไปที่ Terminal แล้วพิมพ์คาสัง่ python ก็จะสามารถใช้งานไพทอนได้ทนั ทีโดยไม่ตอ้ งติดตัง้ ใดๆ หรือดาวน์โหลดจากเว็บไซต์ดา้ นบน 3) เข้าใช้งานไพทอนในโหมดไอดีแอลอี (IDLE) ซึง่ จะใช้งานทัง้ ในรูปแบบ Shell และรูปแบบ GUI (นิยมแบบนี้) คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี Introduction to Python Programming - 01 312113 Digital Technology for Police Administration 2 เรียกสัญลักษณ์ >>> ว่าพร๊อมท์ (Prompt) 2 แนวคิดการเขียนโปรแกรมภาษาไพทอน (Python Programming Concepts) 1. การเรียกใช้งานและประมวลผลภาษาไพทอนกับเชลล์โต้ตอบ (Interactive Shell) ภาษาไพทอนเป็ นภาษาทีเ่ ขียนง่ายและไม่มโี ครงสร้างทีซ่ บั ซ้อน ผูเ้ ขียนโปรแกรมเพียงแค่ป้อนค่าต่างๆ ทีต่ ้องการเข้าไป ในเชลล์ (Shell) ก็สามารถประมวลผลได้แล้ว โดยเราสามารถป้ อนสิง่ ดังต่อไปนี้เข้าไปในเชลล์ได้ 1) ตัวเลข (Number) ซึง่ ได้แก่ตวั เลขจานวนเต็มและตัวเลขจานวนจริงดังตัวอย่างต่อไปนี้ >>> 1234 >>> 1234.5678 1234 1234.5678 2) ข้อความ (Text / Message) ซึ่งได้แก่ วลี คา หรือประโยคที่เขียนคล่อมด้วยเครื่องหมาย Double Quote (") หรือ เครือ่ งหมาย Single Quote (') ดังตัวอย่างต่อไปนี้ >>> "Hello" + ' ' + "Python" >>> "A" * 5 ▪ ใช้ + ในการเชื่อมข้อความ 'Hello Python' 'AAAAA' ▪ ใช้ * ในการซ้าข้อความ 3) ตัวแปร (Variables) ซึง่ ได้แก่การเก็บข้อมูลไว้ในตัวแปรหนึ่งๆ ซึง่ สามารถเปลีย่ นแปลงค่าได้ดงั ตัวอย่างต่อไปนี้ >>> x = 15 >>> a = "Bank Python" >>> y = 3.14 >>> b = 'Bank Java' 4) นิ พจน์ (Expressions) ซึง่ ได้แก่การดาเนินการบางอย่างของข้อมูล (ตัวเลข ข้อความ ตัวแปร) ดังตัวอย่างต่อไปนี้ >>> 5 + 10 >>> x = 10 15 >>> y = 4 >>> z = 2 >>> cal = (x / y) * z >>> 5.7 - 3.5 >>> cal 2.2 5.0 หมายเหตุ เครือ่ งหมายบวกคือ + เครือ่ งหมายลบคือ - ตัวดาเนินการอื่นๆ จะกล่าวอย่าง เครือ่ งหมายคูณคือ * เครือ่ งหมายหารคือ / ละเอียดอีกครัง้ ในบทที่ 2 5) คาสัง่ (Statements) ซึง่ ได้แก่ชุดคาสังที ่ ภ่ าษาไพทอนได้กาหนดขึน้ ดังตัวอย่างต่อไปนี้ >>> print(2 * 3) >>> type(100) 6 คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี Introduction to Python Programming - 01 312113 Digital Technology for Police Administration 3 โจทย์ข้อที่ 1 [ระดับง่าย] จงหาคาตอบจากการป้ อนตัวเลขลงไปในเชลล์โต้ตอบดังต่อไปนี้ (10 คะแนน) ข้อ ข้อมูลที่ป้อนเข้าไปในเชลล์โต้ตอบ คาตอบ 1. >>> 1 / 2 2. >>> 3.000000000000000000000009 3. >>> 1 + 3 * 2 4. >>> 0.1 + 0.3 *5. >>> 0.1 + 0.2 6. >>> 6 / 2(1 + 2) 7. >>>.1234 8. >>> 0325 *9. >>> 0b10101 + 0o32 + 0x1A 10. >>> 1000000000000000000000000000000 / 2 โจทย์ข้อที่ 2 [ระดับง่าย] จงหาคาตอบจากการป้ อนข้อความลงไปในเชลล์โต้ตอบดังต่อไปนี้ (10 คะแนน) ข้อ ข้อมูลที่ป้อนเข้าไปในเชลล์โต้ตอบ คาตอบ 1. >>> " Python RPCA" 2. >>> "ABCD" – 'CD' 3. >>> "ABCD" + 13 4. >>> "ABCD" * 2 5. >>> "ABCD" * 2.0 6. >>> "ABCD" * -2 7. >>> "1" + "2" * 2 8. >>> "1" * 2 + "2" 9. >>> (1 + 2) * "2" 10. >>> ("1" + "2") * 2 โจทย์ข้อที่ 3 [ระดับง่าย] จงหาคาตอบจากการป้ อนค่ า กาหนดค่ า และประมวลผลกับ ตัวแปรในเชลล์โต้ ตอบ ดังต่อไปนี้ (กาหนดให้การประมวลผลบนเชลล์โต้ตอบมีการทางานต่อเนื่ องจากข้อ 1-10) (10 คะแนน) ข้อ ข้อมูลที่ป้อนเข้าไปในเชลล์โต้ตอบ คาตอบ >>> x = 3 1. >>> y = 4 >>> x / y >>> x = 3 >>> y = 4 2. >>> z = x + y >>> x = "1" >>> x * z คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี Introduction to Python Programming - 01 312113 Digital Technology for Police Administration 4 ข้อ ข้อมูลที่ป้อนเข้าไปในเชลล์โต้ตอบ คาตอบ >>> x = "1" 3. >>> y = "2" >>> x * y >>> x = 3 4. >>> y = 4 >>> x – y + a >>> x = 3 5. >>> y = 4.5 >>> "00" * (x + y) >>> x = 5 >>> y = -3 6. >>> z = x + y >>> y = "10" * 2 >>> z * y >>> x = 0o21 7. >>> y = 0o18 >>> x + y >>> y = 0b101 8. >>> y - 8 >>> x = "A" 9. >>> y = 0b11 >>> (x * y) * 3 >>> x = "F" 10. >>> y * x * z 2. การประมวลผลคาสังภาษาไพทอนจากไพล์ ่ *.py โดยทัวไปในการเขี ่ ยนโปรแกรมหนึ่งๆ จะประกอบไปด้วยหลายคาสังที ่ ท่ างานร่วมกัน เราจึงต้องจัดเก็บคาสังเหล่ ่ านัน้ ไว้ ในไฟล์ ซึง่ ในภาษาไพทอนจะเป็ นไฟลล์นามสกุล *.py โดยมีขนั ้ ตอนการใช้งานดังรายละเอียดต่อไปนี้ 1) เลือกเมนู File > New File เพื่อสร้างไฟล์โปรแกรมไพทอนทีม่ นี ามสกุล *.py และเขียนคาสังต่ ่ างๆ ลงในไฟล์น้ี คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี Introduction to Python Programming - 01 312113 Digital Technology for Police Administration 5 2) ทาการแปลผลคาสังเพื ่ ่อแสดงผลลัพธ์โดยเลือกเมนู Run > Run Module หรือกด F5 3. คาสังแสดงผล ่ (Print Statement) อุปกรณ์ทใ่ี ช้ในการแสดงผลโดยทัวไปคื ่ อจอภาพ (Monitor) โดยคาสังที ่ ใ่ ช้ในการแสดงผลลัพธ์ขน้ึ บนจอภาพในภาษาไพ- ทอนคือคาสัง่ print(…) ซึง่ มีรายละเอียดดังต่อไปนี้ 1) การแสดงผลลัพธ์ออกทางจอภาพแบบขึ้นบรรทัดใหม่ มีรายละเอียดดังต่อไปนี้ (1) แสดงผลลัพธ์ 1 ค่า ใช้คาสัง่ >>> 1.5 print(1.5) 100 print(ข้อมูล) >>> print(100) (2) แสดงผลลัพธ์หลายค่า ใช้คาสัง่ >>> 1 2 3 A print(1, 2, 3, "A") A B C 1 print(ข้อมูล, ข้อมูล, ข้อมูล,...) >>> print("A B C", 1) (3) แสดงผลลัพธ์หลายค่าแบบมีอกั ขระคัน่ ใช้คาสัง่ >>> 3) 1,2,3,4 print(1, 2, 3, 4, sep = ",") print(ข้อมูล,..., sep = "ตัวคัน่ ") 1$2$3$4 4) print(1, 2, 3, 4, sep = "$") >>> 2) การแสดงผลลัพธ์ออกทางจอภาพแบบไม่ขึ้นบรรทัดใหม่ มีรายละเอียดดังต่อไปนี้ 3) print(12, end = "") print(ข้อมูล, end = "") print(34, end = "") >>> 4) print(56, end = "") 1234567890 >>> print(78, end = "") ถ้ามีขอ้ มูลมากกว่า 1 ค่าแล้วต้องการแสดงแบบติดกัน print(90, end = "") ให้ใช้คาสัง่ print(ข้อมูล,..., sep = "") 4) อักขระหลีก (Escape Characters) คือ อักขระทีเ่ ป็ นส่วนหนึ่งของไวยากรณ์ ในภาษาคอมพิวเตอร์ ซึ่งจะต้องระมัด ระวังเมือ่ นาอักขระเหล่านี้ไปใช้งาน โดยในภาษาไพทอนมีอกั ขระหลีกทีค่ วรจะต้องรูด้ งั ต่อไปนี้ อักขระ ความหมาย ตัวอย่าง \n การขึน้ บรรทัดใหม่ (New Line) (ปุ่ม Enter บนแป้ นพิมพ์) print("RPCA\n") การเลื่อนหนึ่งช่วงในแนวนอน (Horizontal Tab) (ปุ่ม Tab บน print("No\tName\tAge") \t print("1\tKla\t18") แป้ นพิมพ์) ซึง่ การเลื่อน 1 Tab จะเท่ากับการเลื่อน 8 Spaces print("2\tNiu\t17") \b การเลื่อนย้อนกลับหลัง (Backspace) (ปุ่ม บนแป้ นพิมพ์) print("12345\b67") \' เครือ่ งหมาย Single Quote (') print("\'F\'") \" เครือ่ งหมาย Double Quote (") print("Get \"A\" Python") \\ เครือ่ งหมาย Backslash (\) print("Tab key is \\t") คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี Introduction to Python Programming - 01 312113 Digital Technology for Police Administration 6 โจทย์ข้อที่ 4 [ระดับง่าย] จงแสดงคาตอบที่ได้จากคาสัง่ print(…) ต่อไปนี้ (15 คะแนน) ข้อ ส่วนของโปรแกรม คาตอบ 1. print("0" + 2) 2. print("0", 2) 3. print("0" + "2") 4. print("0", "3", "2") 5. print(0, 3, 2) 6. print(0, 3, 2, sep = "") 7. print(0, 3, 2, end = ",") 8. print("0,3", 2, 1, sep = ",") 9. print("x =", 5, ", y =", 8) 10. print() 11. print("Hello\tPython") 12. print("xx"32"xx") 13. print('xx"32"xx') 14. print("xx'32'xx") 15. print("\\\t\\\xxx\n") โจทย์ข้อที่ 5 [ระดับง่าย] จงเขียนโปรแกรมภาษาไพทอนที่สมบูรณ์ เพื่อแสดงชื่ อ นามสกุล ชื่ อเล่น อายุและเบอร์ โทรศัพท์ ของตัวเองขึ้นบนจอภาพทีละบรรทัด (10 คะแนน) ………………………………………………………………………………………………………………..…. ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. โจทย์ข้อที่ 6 [ระดับง่าย] จงเขียนโปรแกรมภาษาไพทอนที่สมบูรณ์ เพื่อแสดงรูปสามเหลี่ ยมตามที่ กาหนดให้ ขึ้น ………………………………………………………………………………………………………………..…. บนจอภาพ โดยกาหนดให้เพียงใช้คาสังเดี ่ ยวเท่านัน้ ในการแสดงผล (10 คะแนน) 1 ………………………………………………………………………………………………………………..…. 12 123 ………………………………………………………………………………………………………………..…. 1234 12345 ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. 123456 ………………………………………………………………………………………………………………..…. 1234567 ………………………………………………………………………………………………………………..…. โจทย์ข้อที่ 7 [ระดับ ง่ าย] จงเขี ย นโปรแกรมภาษาไพทอนที่ ส มบูรณ์ เพื่ อแสดงรูป สามเหลี่ ย ม * ………………………………………………………………………………………………………………..…. ** ตามที่กาหนดให้ขึ้นบนจอภาพ (ห้ามใช้อกั ขระหลีกใดๆ เพื่อช่วยในการแสดงผล) (10 คะแนน) *** ………………………………………………………………………………………………………………..…. **** ***** ………………………………………………………………………………………………………………..…. **** *** ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. ** * ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. Introduction to Python Programming - 01 312113 Digital Technology for Police Administration 7 โจทย์ข้อที่ 8 [ระดับง่าย] จงเขียนโปรแกรมภาษาไพทอนที่ สมบูรณ์ เพื่อแสดงข้อความ \/"\'t\//n" ขึ้นบนจอ- ภาพให้ถกู ต้อง และกาหนดให้ใช้คาสังเพี ่ ยวเท่านัน้ ในการแสดงผล (10 คะแนน) ่ ยงคาสังเดี ………………………………………………………………………………………………………………..…. ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. โจทย์ข้อที่ 9 [ระดับง่าย] จงเขียนโปรแกรมภาษาไพทอนที่ สมบูรณ์ เพื่อแสดงสัญลักษณ์ และคาอธิ บายสัญลักษณ์ ………………………………………………………………………………………………………………..…. ออกทางจอภาพดังตัวอย่ างที่ กาหนดให้ และให้ ค าอธิ บายของทุกสัญ ลักษณ์ จะต้ องอยู่ในแนวระดับเดี ยวกัน ………………………………………………………………………………………………………………..…. เสมอ (10 คะแนน) ………………………………………………………………………………………………………………..…. 0 →1 →2 →3 (หมายเลข Tab ) ………………………………………………………………………………………………………………..…. '\n' Character of new line แสดงผลลัพธ์ออกทางจอภาพให้เหมือนรูปแบบ ………………………………………………………………………………………………………………..…. '\t' Character of tab นี้ ทุกประการ (ทัง้ เว้นวรรคและย่อหน้ า) "\" String of backslash ………………………………………………………………………………………………………………..…. "/" String of slash "'" String of single quote ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. โจทย์ข้ อ ที่ 10 [ระดับ ปานกลาง] จงเขี ย นโปรแกรมภาษาไพทอนที่ ส มบูรณ์ โดยก าหนดให้ ตัว แปร a เก็บ ค่ า ………………………………………………………………………………………………………………..…. "Python" ตัวแปร b เก็บค่ า "Java" ตัวแปร c เก็บ ค่ า "C++" และ ตัวแปร d เก็บ ค่ า "Ruby" พร้อ มทัง้ นาค่ าใน ………………………………………………………………………………………………………………..…. ตัวแปร a, b, c และ d แสดงขึ้นบนจอภาพตามรูปแบบดังนี้ { Python, Java, C++, Ruby } (10 คะแนน) ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. โจทย์ข้อที่ 11 [ระดับปานกลาง] จงศึ กษาโปรแกรมภาษาไพทอนที่ กาหนดให้ ดงั ต่ อไปนี้ แล้วทาการปรับเปลี่ยน ………………………………………………………………………………………………………………..…. โปรแกรมเสียใหม่ตามความรู้ที่เรียนมาในบทนี้ (บทที่ 1) เพื่อให้ ได้ผลลัพธ์ที่จะแสดงขึ้นบนจอภาพเช่ นเดียวกับ ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. โปรแกรมเดิ ม (10 คะแนน) ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. 1 for i in range(1, 10): ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. 2 print(i) 3 print('----') ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. Introduction to Python Programming - 01 312113 Digital Technology for Police Administration 8 โจทย์ข้อที่ 12 [ระดับยาก] จงศึกษาโปรแกรมภาษาไพทอนจากโจทย์ข้อที่ 11 อีกครัง้ หนึ่ งแล้วปรับแต่งโปรแกรม เสียใหม่ โดยโปรแกรมใหม่นี้จะต้องแสดงค่าของตัวเลขตัง้ แต่ 29 ถึง 36 โดยผลลัพธ์ที่ได้จะต้ องปรากฎค่าตัวเลข สลับกับเครื่องหมายขีดกลาง 4 ขีด เช่นเดียวกับผลลัพธ์ในโจทย์ข้อที่ 11 (10 คะแนน) ………………………………………………………………………………………………………………..…. ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. โจทย์ข้อที่ 13 [ระดับยาก] จงศึกษาโปรแกรมภาษาไพทอนจากโจทย์ข้อที่ 11 อีกครัง้ หนึ่ งแล้วปรับแต่งโปรแกรม ………………………………………………………………………………………………………………..…. เสียใหม่ โดยโปรแกรมใหม่นี้จะต้องแสดงค่าของตัวเลขตัง้ แต่ 100 ถึง 1 ทีละบรรทัด (10 คะแนน) ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. 3 การออกแบบโปรแกรมคอมพิวเตอร์ (Designing Computer Programs) ………………………………………………………………………………………………………………..…. 1. เครื่องหมายและสัญลักษณ์ของผังงาน (Flowchart) ………………………………………………………………………………………………………………..…. โดยปกติแล้วก่อนการเขียนโปรแกรมคอมพิวเตอร์นกั ออกแบบและวิเคราะห์ระบบและโปรแกรมเมอร์จะต้องออกแบบและ ………………………………………………………………………………………………………………..…. สร้างผังงาน (Flowchart) หรือรหัสเทียม (Pseudocode) ขึน้ ก่อนเสมอ เพื่อใช้สาหรับกาหนดขัน้ ตอนและกระบวนการทา ………………………………………………………………………………………………………………..…. งานของโปรแกรมอย่างคร่าวๆ ก่อนการลงมือเขียนโปรแกรมที่แท้จริง ต่อไป โดยสัญลักษณ์ พ้นื ฐานที่ใช้ในการเขียนผัง ………………………………………………………………………………………………………………..…. งานมีดงั ต่อไปนี้ ………………………………………………………………………………………………………………..…. ลาดับ สัญลักษณ์ ชื่อสัญลักษณ์ ความหมาย ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. 1. Terminator การเริม่ ต้นและการสิน้ สุด ………………………………………………………………………………………………………………..…. 2. Data Input/Output ………………………………………………………………………………………………………………..…. การรับเข้าและส่งออกข้อมูล (ทุกช่องทาง) 3. Manual Input การรับเข้าข้อมูลด้วยตัวคนโดยตรง (แป้ นพิมพ์) ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. 4. Process การกาหนดค่าและการคานวณ ………………………………………………………………………………………………………………..…. 5. Decision การตัดสินใจและการเปรียบเทียบ ………………………………………………………………………………………………………………..…. 6. Display การแสดงผลทางจอภาพ ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. 7. Document การแสดงผลในรูปเอกสาร (การพิมพ์เอกสาร) ………………………………………………………………………………………………………………..…. 8. Subroutine การเรียกส่วนงานย่อย ………………………………………………………………………………………………………………..…. 9. On-page Connector จุดเชื่อมต่อภายในหน้าเดียวกัน ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. 10. Arrow Line เส้นลูกศรแสดงทิศทาง ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี ………………………………………………………………………………………………………………..…. Introduction to Python Programming - 01 312113 Digital Technology for Police Administration 9 2. ลักษณะและรูปแบบการทางานของโปรแกรม 1) การทาตามลาดับ (Sequential) ได้แก่กระบวนการทางานตามผังงานต่อไปนี้ รับค่าตัวแปร x, y และ z หาผลบวกระหว่างตัวแปร num x, y, z num = num + n มาจากแป้ นพิมพ์ แล้วหา กับตัวแปร n เก็บทับในตัวแปร ผลบวกของตัวแปรทัง้ สาม num เดิม แล้วแสดงค่าในตัว sum x + y + z num เก็บไว้ในตัวแปร sum แปร num นัน้ ขึน้ บนจอภาพ 2) การตัดสิ นใจ (Decisions) ได้แก่กระบวนการทางานตามผังงานต่อไปนี้ x> type(13) >>> type('Bank') type(ข้อมูล) >>> type(0b10101) >>> type("Bank") ข้อมูลทีใ่ ส่ลงไปในคำสัง่ type(…) อำจจะเป็ นค่ำคงที่ >>> type(3.14) >>> type(True) หรือค่ำจำกตัวแปรก็ได้ >>> type(5e7) >>> type(1+2j) คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี Data Operations and Processing - 02 312113 Digital Technology for Police Administration 13 2. รูปแบบของข้อมูล (Data Formats) 1) รูปแบบของจานวนเต็ม ซึง่ เป็ นตัวเลขจำนวนเต็มทีไ่ ม่จำกัดขนำด (ขึน้ กับควำมจุของหน่วยควำมจำ) มีรปู แบบดังนี้ รูปแบบ ลักษณะการเขียน ตัวอย่างค่าที่ จดั เก็บ int (ฐำนสิบ) เขียนเลขจำนวนเต็มทัวไป ่ 2015 int (ฐำนสอง) เขียน 0b (ศูนย์บ)ี นำหน้ำเลขจำนวนเต็ม 0b10111101 int (ฐำนแปด) เขียน 0o (ศูนย์โอ) นำหน้ำเลขจำนวนเต็ม 0o321576 int (ฐำนสิบหก) เขียน 0x (ศูนย์เอ็กซ์) นำหน้ำเลขจำนวนเต็ม 0x1A4F 2) รูปแบบของจานวนจริ ง ซึง่ เป็ นค่ำประมำณของตัวเลขจำนวนจริง มีรปู แบบดังนี้ รูปแบบ ลักษณะการเขียน ตัวอย่างค่าที่ จดั เก็บ float (รูปทัวไป) ่ เขียนเลขจำนวนจริงทัวไป ่ 1234.5678 เขีย นค่ ำ a ในรูป ของเลขจำนวนเต็ม หรือ จำนวนจริง ▪ 93.478e8 มีค่ำเท่ำกับ ทัวไป ่ ตำมด้วยอักษร e หรือ E และตำมด้วยค่ำ b ใน 93.478 x 108 float (รูป a x 10b) รูปของเลขจำนวนเต็ม (เท่ำนัน้ ) ▪ 62E-3456 มีค่ำเท่ำกับ 62 x 10–3456 3) รูปแบบของสตริ ง ซึง่ เป็ นสตริงทีไ่ ม่จำกัดขนำด (ขึน้ กับควำมจุของหน่วยควำมจำ) มีรปู แบบดังนี้ รูปแบบ ลักษณะการเขียน ตัวอย่างค่าที่ จดั เก็บ str (Single Quote) เขียนคร่อมด้วยเครือ่ งหมำย Single Quote (') 'Hello Python' str (Double Quote) เขียนคร่อมด้วยเครือ่ งหมำย Double Quote (") "Hello Python" เขียนคร่อมด้วยเครือ่ งหมำย Triple Quote (""") หรือ """Hello Python""" str (Triple Quote) '''Hello Triple Quote (''') ซึง่ สำมำรถใส่ค่ำได้หลำยบรรทัด Python''' 4) รูปแบบของบูลีนและจานวนเชิ งซ้อน มีรปู แบบดังนี้ รูปแบบ ลักษณะการเขียน ตัวอย่างค่าที่ จดั เก็บ bool เขียน True หรือ False (ขึน้ ต้นด้วยตัวพิมพ์ใหญ่) False เขีย นค่ ำ a ในรูป ของเลขจำนวนเต็ม หรือ จำนวนจริง 1+2j 3.4-6.9j complex (รูป a ± bj) ตำมด้ว ยเครื่อ งหมำย + หรือ – ตำมด้ว ยค่ ำ b ในรูป 56+12.34j ของเลขจำนวนเต็มหรือจำนวนจริงตำมด้วยอักษร j 54.21-5j 3. การตัง้ ชื่อตัวแปรและการกาหนดค่าตัวแปร 1) กฎการตัง้ ชื่อตัวแปร (บังคับและต้องทำตำม) มีรำยละเอียดดังต่อไปนี้ (1) สำมำรถประกอบไปด้วยตัวอักษร (Letters) ตัวเลข (Digits) และสัญลักษณ์ '_' (Underscore) เช่น num, _hey, xxx3, test1_ เป็ นต้น (2) ห้ำมขึน้ ต้นชื่อด้วยตัวเลข เช่น 3girl1man, 2you, 5HundredMile เป็ นต้น คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี Data Operations and Processing - 02 312113 Digital Technology for Police Administration 14 (3) ห้ำมมีช่องว่ำงและสัญลักษณ์พเิ ศษอื่นๆ นอกเหนือจำกทีก่ ล่ำวไว้ในข้อที่ 1 (4) ห้ำมตัง้ ชื่อซ้ำกับคำสงวน (Reserved Words / Keywords) ซึง่ มี 34 คำดังต่อไปนี้ and as assert break class continue def del elif else except exec finally for from global if import in is lambda nonlocal not or pass raise return try while with yield True False None (5) มีควำมยำวได้ไม่จำกัด (จะยำวกีก่ โิ ลเมตรก็ได้ แต่ควรให้มคี วำมยำวเหมำะสม) (6) ตัวอักษรพิมพ์ใหญ่และพิมพ์เล็กมีควำมหมำยต่ำงกันเสมอ (Case-Sensitive) เช่น var ต่ำงกับ Var 2) ธรรมเนี ยมการตัง้ ชื่อตัวแปร (ไม่บงั คับแต่ควรทำตำม) มีรำยละเอียดดังต่อไปนี้ (1) ควรขึน้ ต้นด้วยอักษรพิมพ์เล็ก (2) ควรเป็ นภำษำอังกฤษ (แต่อำจใช้เป็ นภำษำอื่นก็ได้ ขึน้ กับกำรรองรับของ Editor ทีเ่ ขียน) (3) ควรตัง้ ชื่อให้ส่อื ควำมหมำยกับค่ำของตัวแปรนัน้ เช่น firstName, birthDate เป็ นต้น (4) ไม่ควรตัง้ ชื่อซ้ำกับชื่อของฟั งก์ชนั ของระบบทีม่ อี ยูเ่ ดิม (5) ถ้ำชื่อตัวแปรประกอบด้วยคำหลำยค ำให้เขียนคันด้ ่ วยสัญ ลักษณ์ '_' เช่น number_of_car, student_id, current_time, first_day_of_month เป็ นต้น 3) การกาหนดค่าตัวแปร มีรำยละเอียดดังต่อไปนี้ ซ้ำยอ้ำขวำแทง (1) การกาหนดค่าตัวแปรคราวละ 1 ค่า มีรปู แบบคือ x = 2015 = a = b (2) การกาหนดค่าตัวแปรคราวละหลายค่า มีรปู แบบคือ a, b, c = 1, 2, "xx" , ,... = ,... #a = 1, b = 2, c = "xx" 4) การเปลี่ยนแปลงค่าตัวแปร มีรำยละเอียดดังต่อไปนี้ ในภำษำไพทอนตัวแปรหนึ่งตัวสำมำรถเก็บค่ำและเปลีย่ นแปลงค่ำได้หลำยประเภทข้อมูล (Dynamic Data Type) data = 13 = data = "Police Thailand" = data = False ่ ละข้อต่อไปนี้ (15 คะแนน) โจทย์ข้อที่ 1 [ระดับง่าย] จงระบุประเภทข้อมูลและค่าของข้อมูลในคาสังแต่ ข้อ คาสัง่ ประเภทข้อมูล ค่าของข้อมูลในคาสัง่ type(…) 1. >>> type(0x1B) 2. >>> type(0014.) 3. >>> type('''C"C''') 4. >>> type(0E-0) คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี Data Operations and Processing - 02 312113 Digital Technology for Police Administration 15 ข้อ คาสัง่ ประเภทข้อมูล ค่าของข้อมูลในคาสัง่ type(…) 5. >>> type(0b1011) 6. >>> type(1.0e2.0) 7. >>> type(0o1009) 8. >>> type(5 < 6) 9. >>> type(100E0019) 10. >>> type(-0.000j) 11. >>> type(3.1499999999999999999999) 12. >>> type("""xxx"x'xxx""") *13. >>> type([1, 2, 1, 3]) *14. >>> type(()) *15. >>> type({2, 3, 1, 2, 4, 1, 3, 5 }) ่ อไปนี้ ถกู () หรือผิด () พร้อมบอกเหตุผล (20 คะแนน) โจทย์ข้อที่ 2 [ระดับปานกลาง] จงพิ จารณาคาสังต่ 1) x, y, z = 5, 6, x. 2) num1 = 1.5.6. 3) num1.2 = 1000.0. 4) return = "1234\"'\n". 5) breaks = 015. 6) cal = 15.76392F. 7) float = 2015.. 8) a = b = c = 1.0e1. 9) string = ''bank''. 10) fail, pass = 49.9, 50. 11) 3Type = "One Two Three". 12) _____abcdefghijklmnopqrstuvwxyz0123456789_____ = ''. 13) flag = false. 14) num = 1.5+2i. 15) tab = "\tab". 16) _ = "はじめまして". 17) #2you = 1313131313131313131313131313131313131313. 18) $4Me = 3131313131313131313131313131313131313131. 19) a = [[1, 2], [3, 4]]. 20) b = [1, 2, 3, 4, 5, False, 6.0). คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี Data Operations and Processing - 02 312113 Digital Technology for Police Administration 16 2 การรับเข้าข้อมูล (Input the Data) 1. การรับข้อมูลผ่านทางแป้ นพิ มพ์ (Keyboard Input) ในเอกสำรชุดนี้จะนำเสนอกำรรับเข้ำข้อมูลผ่ำนทำงคอมมำนด์ไลน์ดว้ ยคำสัง่ input(…) โดยมีรำยละเอียดดังต่อไปนี้ 1) คาสังรั ่ บเข้าข้อมูลจากแป้ นพิ มพ์คราวละ 1 ค่า มีรปู แบบคำสังดั ่ งนี้ (1) รับค่าข้อมูลประเภท int >>> x = int(input("Enter: ")) = int(input(ข้อควำมต้อนรับ)) Enter: 15 >>> (2) รับค่าข้อมูลประเภท float >>> x = float(input("Enter: ")) = float(input(ข้อควำมต้อนรับ)) Enter: 15.2 >>> (3) รับค่าข้อมูลประเภท str >>> x = input("Enter: ") = input(ข้อควำมต้อนรับ) Enter: Python >>> 2) คาสังรั ่ บเข้าข้อมูลจากแป้ นพิ มพ์คราวละหลายค่า มีรปู แบบคำสังดั ่ งนี้ ป้ อนข้อมูลแต่ละค่ำคันด้ ่ วยช่อง- (1) รับค่าข้อมูลประเภท int ว่ำง และต้องมีจำนวนข้อมูลเท่ำ- กับจำนวนตัวแปรทีก่ ำหนดไว้ , ,... = [int() for in input(ข้อควำมต้อนรับ).split()] >>> x, y, z = [int(n) for n in input("Enter: ").split()] Enter: 15 20 100 >>> ต้องเคำะช่องว่ำงอย่ำงน้อย 1 ช่อง (2) รับค่าข้อมูลประเภท float , ,... = [float() for in input(ข้อควำมต้อนรับ).split()] >>> x, y, z = [float(n) for n in input("Enter: ").split()] Enter: 15.4 20.89 0.137 >>> (3) รับค่าข้อมูลประเภท str , ,... = [ for in input(ข้อควำมต้อนรับ).split()] >>> x, y, z = [n for n in input("Enter: ").split()] Enter: Bank Java Python >>> คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี Data Operations and Processing - 02 312113 Digital Technology for Police Administration 17 2. รูปแบบการเขียนโปรแกรมรับเข้าข้อมูล ในกำรเขียนโปรแกรมเพื่อรับเข้ำข้อมูลจำกแป้ นพิมพ์ มีขนั ้ ตอนและรูปแบบกำรเขียนโปรแกรมดังต่อไปนี้ 1 2 3 >>> 1 x = input("Enter x: ") Enter x: Hello 2 y = int(input("Enter y: ")) Enter y: 100 Enter z: 200.5 3 z = float(input("Enter z: ")) Hello 100 200.5 4 print(x, y, z) >>> โจทย์ข้อที่ 3 [ระดับง่าย] จงเติ มเต็มคาสังการรั ่ บค่าข้อมูลจากแป้ นพิ มพ์ในแต่ ละข้อต่ อไปนี้ ให้ สมบูรณ์ (ไม่มีการ ระบุข้อความต้อนรับ) พร้อมทัง้ ระบุค่าที่เก็บอยู่ในตัวแปร x แต่ละข้อให้ถกู ต้อง (10 คะแนน) คาสังรั ่ บค่าจากแป้ นพิ มพ์เพื่อ ค่าที่ตงั ้ ใจจะป้ อนเข้า ค่าที่เก็บใน ข้อ เก็บยังตัวแปร x ไปทางแป้ นพิ มพ์ ตัวแปร x 1. >>> F Python 2. >>> 2016 3. >>> 123.456 4. >>> x = int(input()) 067 5. >>> x = float(input()) -100 6. >>> x = int(input()) 0b1010 7. >>> x = float(input()) 1.0e2 8. >>> x = float(input()) 1.0a2 9. >>> x = input() 22.50000 10. >>> x = input() ""Hello\tF โจทย์ข้อที่ 4 [ระดับง่าย] จงเขี ยนโปรแกรมภาษาไพทอนที่ สมบูรณ์ Enter ID: 5830009921 Enter Name: P Mawin เพื่อรับค่าจากแป้ นพิ มพ์ตามประเภทข้อมูลที่ เหมาะสม ซึ่ งประกอบ Enter Nickname: Py ไปด้วยเลขประจาตัวนักเรียน ชื่ อจริ ง ชื่ อเล่น อายุ และน้าหนัก โดย Enter Age: 24 Enter Weight: 50.7 ให้ เก็บ ไว้ ใ นตัว แปรที่ ชื่ อ id, name, nick_name, age และ weight 5830009921 P Mawin Py 24 50.7 ตามลาดับ แล้วแสดงค่าเหล่านัน้ ขึ้นบนจอภาพ (10 คะแนน) ………………………………………………………………………………………………………………..…. ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. โจทย์ข้อที่ 5 [ระดับง่าย] จงเขียนโปรแกรมภาษาไพทอนที่ สมบูรณ์ เพื่อรับสตริ งหนึ่ งค่าเข้ามาทางแป้ นพิ มพ์ ซึ่ ง ………………………………………………………………………………………………………………..…. เป็ นค่าอักขระใดๆ หนึ่ งอักขระ แล้วให้แสดงผลลัพธ์เป็ นรูปสามเหลี่ยมมุมฉากที่ เกิ ดจากการประกอบอักขระตัว ………………………………………………………………………………………………………………..…. นั น้ เข้ าเป็ นรูปสามเหลี่ ย ม โดยก าหนดให้ แสดงอักขระทัง้ หมด 5 แถว ซึ่ งแต่ ละแถวจะมี จานวนอักขระที่ ไม่ ………………………………………………………………………………………………………………..…. เท่ากันตามตัวอย่าง และอักขระแต่ละตัวในแถวเดียวกันจะห่ างกันหนึ่ ง Space Bar (10 คะแนน) ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. คณะนิติวิทยาศาสตร์ โรงเรียนนายร้อยตารวจ พิมพ์ครัง้ ที่ 2 กันยายน 2562 เรียบเรียงโดย ร.ต.อ.ดร.วงศ์ยศ เกิดศรี ………………………………………………………………………………………………………………..…. Data Operations and Processing - 02 312113 Digital Technology for Police Administration 18 Symbol: A Symbol: # ………………………………………………………………………………………………………………..…. A # A A # # ……………………………………………………………………………………………………………..……. A A A # # # A A A A # # # # ………………………………………………………………………………………………………………..…. A A A A A # # # # # ………………………………………………………………………………………………………………..…. โจทย์ข้อที่ 6 [ระดับง่าย] จงเขียนโปรแกรมภาษาไพทอนที่สมบูรณ์เพื่อรับตัวเลขจานวนเต็ม 3 จานวนเข้ามาทาง ………………………………………………………………………………………………………………..…. แป้ นพิ มพ์เก็บไว้ในตัวแปร x, y และ z ตามลาดับ แล้ วให้ แสดงผลลัพ ธ์ของสามตัวเลขนั น้ แบบย้ อนกลับทัง้ ………………………………………………………………………………………………………………..…. แนวนอนและแนวตัง้ ออกทางจอภาพ ดังตัวอย่างต่อไปนี้ (10 คะแนน) ………………………………………………………………………………………………………………..…. Enter x: 1 Enter y: 2 รับค่ำ ………………………………………………………………………………………………………………..…. Enter z: 3 ………………………………………………………………………………………………………………..…. 321 ………………………………………………………………………………………………………………..…. 3 แสดงผลแนวนอน ……………………………………………………………………………………………………………..……. ………………………………………………………………………………………………………………..…. 2 แสดงผลแนวตัง้ ………………………………………………………………………………………………………………..…. 1 ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. โจทย์ข้อที่ 7 [ระดับง่าย] จงเขียนโปรแกรมภาษาไพทอนที่สมบูรณ์ เพื่อรับอักขระ 4 ตัวจากทางแป้ นพิ มพ์ภายใน ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. บรรทัดเดียวกันเก็บไว้ในตัวแปร a, b, c และ d ตามลาดับ แล้วให้แสดงผลลัพธ์ดงั ตัวอย่างต่อไปนี้ (10 คะแนน) ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. Enter: B A N K ………………………………………………………………………………………………………………..…. { B } ………………………………………………………………………………………………………………..…. { B, A } ………………………………………………………………………………………………………………..…. ……………………………………………………………………………………………………………..……. { B, A, N } ………………………………………………………………………………………………………………..…. { B, A, N, K } ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. 3 การประมวลผลข้อมูล (Data Processing) ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. ………………………………………………………………………………………………………………..…. 1. ตัวดาเนิ นการ (Operators) แบ?