หลักสูตรการพัฒนาด้วย Python ขั้นสูง
บทที่
>
ระดับ
รายการขั้นสูง
การสร้างเซ็ต
วัตถุประสงค์
จัดเรียงเครื่องปรุงในตู้ให้เป็นหมวดหมู่ที่เหมาะสมและจัดเก็บไว้ในชั้นโดยใช้ Sets
มีเครื่องปรุงหลายชนิดที่ถูกเก็บไว้ในตู้ ซึ่งทั้งหมดพร้อมใช้งานแต่ดูเหมือนจะจัดระเบียบไม่ดีและเข้าถึงได้ยาก จำเป็นต้องจัดแบ่งอย่างเหมาะสมบนชั้นว่างที่อยู่ข้างเคียงซึ่งได้ถูกใช้งานจนหมดแล้ว
เครื่องปรุงถูกกระจายอยู่ในสาม (3) รายการ ซึ่งสามารถจัดระเบียบใหม่ได้โดยใช้ Sets. Sets คือรายการที่ไม่มีรายการซ้ำ นอกจากนี้ยังสามารถเรียงลำดับในรูปแบบต่าง ๆ และเปรียบเทียบกับ Sets อื่น ๆ เพื่อค้นหาหรือเน้นรายการเฉพาะ
มีรายการคงที่สามรายการที่ถูกเก็บไว้ในตู้ โดยมีชื่อว่า: condiments1 , condiments2 และ condiments3. เดินไปยังเครื่องหมาย X ที่สว่างเพื่อดูเนื้อหาของรายการโดยใช้ฟังก์ชัน speak() และรวบรวมรายการทั้งสาม (3) โดยใช้ฟังก์ชัน collect() ดังนี้: player.speak(condiments1),player.collect(condiments1)
Sets ถูกสร้างขึ้นโดยการเขียน set() โดยมีรายการหรือตัวรายการเป็นอาร์กิวเมนต์ จากนั้นกำหนดชื่อให้กับ Set นั้น สร้าง Sets สาม (3) ชุดโดยตั้งชื่อว่า: set1 , set2 และ set3 แล้วกำหนดให้ตรงกับรายการคงที่ที่มีหมายเลขเดียวกัน เช่น: set1 = set(condiments1)
เมื่อรวบรวมรายการแล้ว ให้เดินไปยังเครื่องหมาย X ที่มืดเหนือพรมสีเขียว หันหน้าเข้าหากระดานและกรองรายการผ่าน Sets ใช้ฟังก์ชัน speak() กับ Sets ทั้งสามที่คุณเพิ่งสร้างขึ้น เช่น: player.speak(set1)
ต่อจากนั้น ให้เดินไปยังเครื่องหมาย X ที่มืดเหนือพรมสีน้ำเงินและรวบรวมรายการโดยตรวจสอบว่าเครื่องปรุงใดที่มีอยู่ในทั้งสาม (3) รายการ ทำเช่นนี้โดยใช้เมธอด intersection() ซึ่งจะช่วยให้คุณเปรียบเทียบ Sets และค้นหารายการที่มีอยู่ในทั้งสาม ชุดที่ได้ให้ตั้งชื่อว่า duplicates และรวบรวม ดังนี้: duplicates = set1.intersection(set2,set3) ใช้ฟังก์ชัน speak() เพื่อตรวจสอบชุดที่ได้
เดินไปยังพรมสีแดงที่มีเครื่องหมาย X มืดและรวบรวม Sets ทั้งสามให้กลายเป็น Set เดียว โดยใช้เมธอด union() ซึ่งใช้งานในลักษณะเดียวกับเมธอด intersection() แต่จะรวบรวมรายการจาก Sets ทั้งสามและจัดเก็บไว้ใน Set เดียวโดยไม่มีรายการซ้ำ ตั้งชื่อ Set ที่ได้ว่า all_items และรวบรวม ดังนี้: all_items = set1.union(set2,set3) ใช้ฟังก์ชัน speak() เพื่อตรวจสอบชุดที่ได้
เมื่อทุกอย่างถูกรวบรวมเรียบร้อยแล้ว ให้เดินไปยังเครื่องหมาย X สีทองและหันหน้าไปที่ชั้นเก็บ ใช้ฟังก์ชัน place() ในการวางเครื่องปรุงทั้งหมดลงบนชั้นว่างเพื่อให้ระดับนี้สมบูรณ์ ดังนี้: player.place(all_items)