หลักสูตรการพัฒนา Python
บทที่
>
ระดับ

การใช้ดิกชันนารี
ฟังก์ชันที่กำหนดเองโดยใช้พจนานุกรม

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

ใช้ฟังก์ชันที่กำหนดเองที่วนซ้ำผ่านสนามปลูก โดยปลูกและรดน้ำพืช

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

หยิบถุงเมล็ดพืชซึ่งจะให้เมล็ดต้นไม้ดังต่อไปนี้ในรูปแบบดิกชันนารี: "orange : 3" , "pear : 4" , "apple : 3" , "peach : 2" . เดินไปยังเครื่องหมาย X ที่มีไฟเล็ก ๆ ข้างบ่อแล้วใช้ฟังก์ชัน collect() เพื่อเก็บน้ำ โดยเขียนโค้ดดังนี้: player.collect("water")

เมื่อคุณเก็บวัสดุที่จำเป็นทั้งหมดแล้ว ให้สร้างฟังก์ชันที่กำหนดเองชื่อ sow_field โดยใช้เมล็ดพืชและน้ำเพื่อปลูกและชลประทานสนาม ฟังก์ชันที่กำหนดเองนี้จะรับอาร์กิวเมนต์สามตัว ได้แก่ tree , loops และ direction โดยอาศัยอาร์กิวเมนต์เหล่านี้ ฟังก์ชันจะทำการวนลูป for เพื่อชลประทานสนาม

def sow_field(tree,loops,direction): for x in range(loops): if direction == "right": player.move_forward(2) player.turn_left() player.plant(seeds,tree) player.water() player.turn_right() player.move_forward() if direction == "left": player.move_forward() player.turn_right() player.plant(seeds,tree) player.water() player.turn_left() player.move_forward(2)

อาร์กิวเมนต์ตัวแรก tree คือชื่อของคีย์ในดิกชันนารี ซึ่งมีค่าได้แก่ "orange" , "pear" , "apple" และ "peach" ให้เลือกชื่อที่เหมาะสมเมื่อต้องการปลูก

อาร์กิวเมนต์ถัดไป loops กำหนดจำนวนรอบที่คุณต้องการให้ฟังก์ชันทำการวนลูป ซึ่งเท่ากับจำนวนเมล็ดของแต่ละชนิดในสนาม อาร์กิวเมนต์สุดท้ายคือ direction ซึ่งมีค่าได้แก่ "left" และ "right" ให้เลือกทิศทางที่ต้องการให้ผู้เล่นเคลื่อนไหวในขณะวนลูปฟังก์ชัน

ให้เดินไปยังส่วนบนสุดของแผนที่หลังจากเก็บน้ำ แล้วใช้ฟังก์ชันที่กำหนดเองดังนี้: sow_field("orange", 3, "right") ทำเช่นนี้สำหรับเมล็ดพืชทุกชนิดเพื่อผ่านด่าน

หนังสือโค้ด