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

อะซิงค์/อะเวท
การตั้งคำถาม

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

รวบรวมวัสดุต่างๆ ในครัวและเตรียมความพร้อมสำหรับการทำอาหารโดยการตั้งค่า “questions”.

มีวัสดุของครัวและอาหารหลากหลายที่ต้องถูกจัดเตรียมและเตรียมไว้เพื่อการใช้งานและบริโภคในภายหลัง. เพื่อความสะดวก คุณสามารถตั้งค่า question() ซึ่งเป็นฟังก์ชัน async ที่คล้ายกับ write() แต่แทนที่จะแสดงข้อความแบบคงที่ คุณสามารถแสดงคำถามพร้อมตัวเลือก “Yes” และ “No”.

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

async def question_function(): answer = await player.question("Question you would like to ask") if answer: # Actions to take if answer is Yes else: # Actions to take if answer is No

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

รายการที่ต้องเตรียมในครัวมี: "water" , "ice" , "meat" และ "potato". รายการเหล่านี้จำเป็นต้องถูกรวบรวมและจัดวางในพื้นที่ต่างๆ ของครัว โดยที่ "ice" ต้องถูกจัดวางในช่องแช่แข็ง, "water" ต้องถูกใส่ในหม้อ, ส่วน "meat" และ "potato" ต้องถูกจัดวางในเตาอบที่แตกต่างกัน

เริ่มต้นเดินไปยังเครื่องหมาย X สีทองในห้องด้านขวาและใช้ฟังก์ชันที่กำหนดเอง await dispencer() ที่อธิบายในตัวแก้ไขโค้ด เผชิญหน้ากับกล่องน้ำแข็งแล้วใช้ฟังก์ชันดังกล่าวสอง (2) ครั้ง มันจะถามคำถามและคุณต้องตอบ Yes เพื่อ collect() "ice" และตอบ No เพื่อ collect() "water"

เมื่อคุณได้รวบรวมทั้งสองรายการนี้แล้ว ให้เดินไปยังเครื่องหมาย X สีเข้มที่อยู่ข้างๆ คุณ หน้าช่องแช่แข็งแล้วใช้ฟังก์ชัน place() เพื่อวาง "ice" ลงในช่องแช่แข็ง ดังนี้: player.place("ice") จากนั้นเดินต่อไปยังเครื่องหมาย X สีอ่อนหน้ากระสอบและใช้ฟังก์ชัน collect() เพื่อหยิบ "potato" ดังนี้: player.collect("potato")

จากนั้นให้เดินไปยังเครื่องหมาย X สีเข้มที่อยู่ข้างหม้อกลางและใช้ place() วาง "water" ที่คุณได้รวบรวมไว้ ดังนี้: player.place("water") เมื่อทำเสร็จแล้วเดินไปยังเครื่องหมาย X สีอ่อนด้านบน หน้าตู้เย็นและรวบรวม "meat" ดังนี้: player.collect("meat")

ตอนนี้ เมื่อคุณได้รวบรวมทั้ง "meat" และ "potato" แล้ว ให้เดินไปยังเครื่องหมาย X สีทองสอง (2) อันในห้องด้านซ้ายและใช้ฟังก์ชันที่กำหนดเอง await oven() ที่เขียนไว้ในตัวแก้ไข สำหรับคำถาม ในเตาอบด้านขวา คุณต้องเลือกคำตอบเพื่อ อบ "potato" และสำหรับเตาอบด้านซ้ายคุณต้องเลือกคำตอบเพื่อ ย่าง "meat" เพื่อทำระดับนี้ให้สำเร็จ

หนังสือโค้ด