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

อะซิงค์/อเวท
รีวิวแบบอะซิง

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

บันทึกการผลิตขวดไวน์โดยใช้ฟังก์ชัน Async โดยการตรวจสอบโควตาและสรุปขั้นตอนการแช่ผลไม้ไวน์

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

เริ่มต้นเดินไปยังเครื่องหมาย X สีเข้มที่ไม่มีพรมหน้ากระดาษ โดยในโน้ตนี้มีข้อมูลเกี่ยวกับโควต้าผลิตภัณฑ์ที่ต้องผลิตรวมทั้งบันทึกเกี่ยวกับผลไม้ที่ถูกแช่แล้ว ใช้ฟังก์ชัน read() เพื่อตรวจสอบโควตาและจดบันทึกค่าของผลไม้ไวน์ จากนั้นเก็บไว้ในตัวแปรที่ชื่อว่า quota

เมื่อคุณทราบความต้องการแล้ว ให้เดินไปยังเครื่องหมาย X สีอ่อนและหันหน้าไปที่กล่องเพื่อตรวจสอบว่ามีผลิตภัณฑ์จำนวนเท่าไหร่ที่พร้อมสำหรับการประมวลผล ใช้ฟังก์ชัน read() ทั้งสองจุดเพื่อตรวจสอบเนื้อหาของสิ่งของที่พร้อมใช้งาน สร้างตัวแปรที่ชื่อว่า wine_berries และนำปริมาณที่อ่านจากเครื่องหมาย X ทั้งสองมารวมกัน

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

มีหม้อสำหรับแช่ผลไม้ไวน์จำนวนสี่ (4) ใบ ในเอกสารที่อ่านจะแสดงว่าหม้อใดพร้อมให้เก็บและหม้อใดต้องการให้แช่ผลไม้ ใช้ฟังก์ชัน question() เพื่อตรวจสอบว่าคุณต้องการเก็บผลไม้ไวน์ที่แช่แล้วหรือแช่ผลไม้ในหม้อ ในพรมสีเขียวและสีเหลืองที่มีเครื่องหมาย X สีเข้มคุณต้องเก็บผลไม้ และในพรมสีม่วงและสีน้ำเงินที่มีเครื่องหมาย X สีเข้มให้วางผลไม้ลงไป

ฟังก์ชัน question() ที่จำเป็นสำหรับการรับผลิตภัณฑ์ถูกเขียนไว้ในตัวแก้ไขโค้ดและมีชื่อว่า soaking_pot() :

async def soaking_pot(): answer = await player.question("Collect berries instead of soaking them?") if answer: player.collect("wine berries") else: player.place("berries")

เมื่อผลไม้ไวน์ถูกเก็บรวบรวมแล้ว ให้เดินไปยังเครื่องหมาย X สีทองที่ด้านซ้ายถัดจากถังเก็บผลไม้และใช้ฟังก์ชัน place() เพื่อเพิ่ม "wine berries" ที่คุณเก็บไว้ ในตัวแปรที่คุณสร้างขึ้น wine_berries ให้เพิ่มผลิตภัณฑ์อีก 100 ปอนด์ โดยหมายถึง 50 ปอนด์สำหรับแต่ละผลิตภัณฑ์ที่คุณเก็บไว้ก่อนหน้านี้ ทำได้โดยเขียนแบบนี้: wine_berries+=100

ย้ายไปยังเครื่องหมาย X สีเข้มที่มีพรมสีแดงและสีส้ม บนเครื่องหมาย X ที่อยู่บนพรมสีแดง ให้ใช้ฟังก์ชัน write() และเพิ่มจำนวน wine_berries ที่มีอยู่ ณ ปัจจุบันดังนี้: player.write("There are %d pounds of product finished" % (wine_berries))

บนเครื่องหมาย X ที่อยู่บนพรมสีส้ม ให้ใช้ฟังก์ชัน write() เพื่อบันทึกผลิตภัณฑ์ที่ยังไม่เสร็จสมบูรณ์ ในการที่จะผ่านด่าน ให้นำ wine_berries มาลบกับ quota เพื่อหาจำนวนที่เหลืออยู่ ดังนี้: player.write("There are %d pounds of product Remaining" % (quota-wine_berries))

หนังสือโค้ด