Coding for KidsCoding for Kids
ระดับสร้างสรรค์ความท้าทายคู่มือครู
โหวตสำหรับฟีเจอร์
หลักสูตรการพัฒนาด้วย Python ขั้นสูง
บทที่
>
ระดับ

โมดูลคณิตศาสตร์
โมดูลตัวดำเนินการ

วัตถุประสงค์

ตรวจสอบและจัดสรรคำสั่งซื้อวัสดุก่อสร้างสำหรับที่ดินเกษตรกรรมใหม่โดยใช้โมดูล operator

ชั้นบนของโถงส่วนต่อพ่วงมีสำนักงานบางแห่งที่เก็บบันทึกของสินค้าคงคลังและคำสั่งซื้อวัสดุก่อสร้างที่จำเป็นสำหรับการพัฒนาที่ดินใหม่ มีเครื่องมือที่หลากหลายที่สามารถใช้ตรวจสอบและคำนวณวัสดุเพื่อใช้ในการก่อสร้าง นอกเหนือจากโมดูลคณิตศาสตร์และสถิติแล้ว เราสามารถใช้โมดูล operator ได้

โมดูลนี้ , import operator , สามารถใช้สำหรับทำให้การคำนวณด้วยตัวดำเนินการง่ายขึ้นและห่อหุ้มเป็นฟังก์ชันได้อย่างสะดวก คุณสามารถใช้ฟังก์ชันเหล่านี้ได้ทั้งสำหรับการเพิ่มประสิทธิภาพและสำหรับการสร้างค่า โดยไม่จำเป็นต้องสร้างอ็อบเจ็กต์เพื่อเก็บค่าของการคำนวณ

  • operators.eq(): รับอาร์กิวเมนต์สองตัว ตรวจสอบว่าอาร์กิวเมนต์ทั้งสองมีค่าเท่ากันหรือไม่
  • operators.lt(): รับอาร์กิวเมนต์สองตัว ตรวจสอบว่าอาร์กิวเมนต์ตัวแรกน้อยกว่าอาร์กิวเมนต์ตัวที่สองหรือไม่
  • operators.gt(): รับอาร์กิวเมนต์สองตัว ตรวจสอบว่าอาร์กิวเมนต์ตัวแรกมากกว่าอาร์กิวเมนต์ตัวที่สองหรือไม่
  • operators.floordiv(): รับอาร์กิวเมนต์สองตัว แบ่งอาร์กิวเมนต์ตัวแรกด้วยตัวที่สองและใช้วิธีที่เทียบเท่ากับ math.floor() โดยปัดเศษผลลัพธ์ลง
  • operators.mod(): รับอาร์กิวเมนต์สองตัว ส่งกลับเศษจากการหารของอาร์กิวเมนต์ทั้งสอง
  • operators.contains(): ฟังก์ชันที่ใช้กับรายการ รับอาร์กิวเมนต์สองตัว โดยที่อาร์กิวเมนต์ตัวแรกเป็นรายการ ส่วนตัวที่สองเป็นค่าที่ต้องการตรวจสอบว่ามีอยู่ในรายการหรือไม่ ส่งกลับ: true หรือ false ขึ้นอยู่กับว่าค่าดังกล่าวมีอยู่หรือไม่
  • operators.concat(): รับอาร์กิวเมนต์สองรายการ รวมรายการทั้งสองเข้าด้วยกันโดยใช้ฟังก์ชันเดียวที่เรียบร้อย ซึ่งทำงานได้เร็วกว่าวิธีอื่น
  • operators.countOf(): รับอาร์กิวเมนต์สองตัว รายการและค่าเพื่อตรวจสอบว่าค่านั้นปรากฏในรายการกี่ครั้ง ส่งกลับจำนวนครั้งที่ค่านั้นปรากฏ

เริ่มต้นให้เดินไปยังจุด X ที่มืดเหนือพรมสีแดง, น้ำเงิน และเขียว มีคอนสแตนต์ทั้งหมดหก (6) ตัว: red_order , blue_order , green_order ซึ่งเป็นคำสั่งซื้อวัสดุ และ: red_req , blue_req , green_req ซึ่งเป็นจำนวนที่ต้องการสำหรับการก่อสร้าง

ที่จุด X ที่มืดเหนือพรมสีแดง ให้ใช้ฟังก์ชัน read() เพื่อตรวจสอบจำนวนวัสดุที่ต้องการ สร้างตัวแปรชื่อ red_verification และใช้ฟังก์ชัน operator.eq() กับคอนสแตนต์ red_order และ red_req ดังนี้: red_verification = operator.eq(red_order,red_req) ด้วยฟังก์ชัน write() ที่เขียนไว้ล่วงหน้า ให้ใช้ red_verification เพื่อแสดงผลลัพธ์

ที่จุด X บนพรมสีฟ้าและสีเขียว ให้ทำขั้นตอนเดียวกัน ใช้ฟังก์ชัน read() และสร้างตัวแปร: blue_verification และ green_verification สำหรับตัวแปรสีฟ้า ให้เก็บค่าของ operator.lt() โดยใช้คอนสแตนต์ blue_order และ blue_req เพื่อตรวจสอบว่าคำสั่งซื้อน้อยกว่าที่ต้องการหรือไม่ สำหรับตัวแปรสีเขียว ให้เก็บค่าของ operator.gt() โดยใช้คอนสแตนต์ green_order และ green_req เพื่อตรวจสอบว่าคำสั่งซื้อมากกว่าวัสดุที่ต้องการหรือไม่ ใช้ฟังก์ชัน write() ที่เขียนไว้ล่วงหน้าพร้อมกับฟังก์ชันตรวจสอบที่สอดคล้องกับพรมสีแต่ละสี

จากนั้น ให้เดินไปยังจุด X ที่สว่าง และที่โต๊ะให้ใช้ฟังก์ชัน read() เพื่อตรวจสอบคำสั่งซื้อที่ได้ถูกวางไว้แล้วและกำลังอยู่ในเส้นทาง ในสมุดคำสั่งซื้อคุณจะพบค่าของคอนสแตนต์ตัวแปรสองตัว: main_order และ sub_order รวมถึงจำนวนส่วนที่วัสดุต้องถูกแบ่ง หลังจากอ่านสมุดคำสั่งซื้อแล้ว ให้สร้างตัวแปรชื่อ allocations และเก็บค่าของ operator.floordiv() เพื่อแบ่งค่า main_order ด้วยจำนวนส่วนที่ระบุในสมุดคำสั่งซื้อ ดังนี้: allocations = operator.floordiv(main_order, -add sections-) ซึ่งจะทำการแบ่งคำสั่งซื้อและปัดเศษลง ใช้ฟังก์ชัน write() ที่เขียนไว้ล่วงหน้าพร้อมตัวแปร allocations เพื่อแสดงผลลัพธ์

เดินไปยังจุด X ที่เป็นสีทองและสร้างตัวแปรชื่อ remainder เก็บผลลัพธ์ของ operator.mod() โดยเพิ่มคอนสแตนต์ main_order และ sub_order เพื่อคำนวณเศษของคำสั่งซื้อทั้งสอง ที่โต๊ะ ให้ใช้ฟังก์ชัน write() ที่เขียนไว้ล่วงหน้าและเพิ่มตัวแปร remainder เพื่อแสดงผลลัพธ์

เดินไปยังจุด X ที่มืดเหนือพรมสีม่วง ที่นี่เราจะตรวจสอบว่ามีการส่งมอบเครื่องมือที่จำเป็นสำหรับการก่อสร้างหรือไม่ เรามีคอนสแตนต์รายการสองตัว, delivery_1 และ delivery_2 เราจะตรวจสอบว่าเครื่องมือถูกส่งมอบในครั้งแรกหรือไม่ สร้างตัวแปรชื่อ tools และเก็บผลลัพธ์ของ operator.contains(), โดยสำหรับอาร์กิวเมนต์ตัวแรกให้ใส่รายการ delivery_1 และสำหรับอาร์กิวเมนต์ตัวที่สองให้ใส่สตริง “tools” ซึ่งจะตรวจสอบว่าเครื่องมือมีอยู่ในรายการที่ส่งมอบหรือไม่ ดังนี้: tools = operator.contains(delivery_1,"tools") เมื่อทำเสร็จแล้ว ที่โต๊ะ ให้ใช้ฟังก์ชัน write() ที่เขียนไว้ล่วงหน้าพร้อมตัวแปร tools เพื่อแสดงว่าการส่งมอบเครื่องมือสำเร็จหรือไม่

ต่อไปคือการตรวจสอบการส่งมอบทั้งหมด ให้เดินไปยังจุด X ที่มืดเหนือพรมสีขาวและสร้างรายการชื่อ materials ใช้มันเพื่อเก็บค่าของ operator.concat() โดยใช้รายการ delivery_1 และ delivery_2 เป็นอาร์กิวเมนต์ สิ่งนี้จะรวมสองรายการเข้าด้วยกันอย่างรวดเร็วเป็นรายการเดียว ที่โต๊ะ ให้ใช้ฟังก์ชัน write() ที่เขียนไว้ล่วงหน้าพร้อมตัวแปร materials เพื่อจดบันทึกวัสดุทั้งหมดที่ได้ถูกส่งมอบสำหรับการก่อสร้าง

สุดท้าย ให้เดินไปยังจุด X ที่มืดเหนือพรมสีส้ม ที่นี่มีข้อกำหนดเบื้องต้นสำหรับการเริ่มต้นก่อสร้าง หนึ่งในสัญลักษณ์หลักคือปริมาณไม้ที่ต้องการในตอนเริ่มต้นในรูปของตัน ตรวจสอบว่าไม้ถูกส่งมอบไปทั้งหมดเท่าใดและประกาศออกมา โดยใช้ฟังก์ชัน speak() ร่วมกับ operator.countOf() สำหรับอาร์กิวเมนต์ตัวแรก ให้ใส่รายการ materials ที่คุณสร้าง ตามด้วยสตริง “wood” ซึ่งจะส่งกลับจำนวนครั้งที่ไม้ปรากฏในรายการ materials สิ่งนี้แสดงให้เห็นว่าเราสามารถใช้ฟังก์ชัน operator โดยตรงได้โดยไม่ต้องใช้การเก็บลงในอ็อบเจ็กต์ ดังนี้: player.speak(operator.countOf(materials,"wood")) ซึ่งจะทำให้ระดับนี้สมบูรณ์

หนังสือโค้ด