Edistynyt Python-kehityskurssi
Luku
>
Taso
Async/Await
Viestien lukeminen
Tavoite
Tarkista, että viinikellarin tavaramäärät ovat oikein käyttämällä read()-funktiota ja laske jäljellä oleva varasto.
Viinikellarissa on useita laatikoita viinipullojen kanssa, jotka on tarkoitus siirtää yläkertaan jakelua varten. Varastohuoneessa pöydillä on muistiinpanoja tilauksista, niiden vieressä on laatikoita, joissa pullot säilytetään. Sinun tulee tarkistaa, että kunkin laatikon pullomäärä vastaa muistiinpanojen määrää ja täydentää mahdolliset puutteet.
Ensiksi, kerää löysät pullot, jotka ovat viinihuoneessa, jotta niitä on käden ulottuvilla täydentämään tilauksista puuttuvia tuotteita. Viinipulloja on kolmea (3) tyyppiä, ja kun olet kerännyt ne, luo muuttujat seuraavasti: empty_bottles, purple_bottles, yellow_bottles ja tallenna kunkin niistä kerätty määrä muuttujaan.
Kun olet kerännyt kaikki pullot kentältä, siirry varastohuoneen sisällä oleviin kevyisiin X-merkkeihin ja suuntaa muistiinpanojen puoleen. Käytä read()-funktiota lukeaksesi tilausinformaatio muistiinpanosta käynnistämällä ponnahdusikkuna. Samoin kuin write()-funktiolle, read()-funktio on async-funktio, joka vaatii await-komennon ennen koodin suorittamista, esimerkiksi: await player.read().
Muistiinpanot on värikoodattu niiden alla olevien mattojen mukaan, ja kun saat tilausnumerot tiedoksi, kävele värikoodattujen laatikoiden eteen oleviin tummiin X-merkkeihin ja käytä speak()-funktiota tarkistaaksesi kunkin laatikon sisällön. Laatikoiden vastaavaksi on määritelty kolme (3) vakioarvoa: green_crate, blue_crate ja red_crate.
Tarkista, että kunkin laatikon sisältö vastaa samanvärisen maton muistiinpanon tietoja. Jos laatikoiden sisällöstä puuttuu muistiinpanossa mainittuja tuotteita, lisää ne vastaaviin laatikoihin. Luo muuttujat: empty_missing, purple_missing ja yellow_missing ja lisää kunkin puuttuvan tuotteen määrä laatikon sisältöön.
Kun muuttujat on asetettu, käytä place()-funktiota lisätäksesi puuttuvat pullot laatikoihin, esimerkiksi: player.place(empty_missing). Kaikkien tuotteiden asettamisen jälkeen siirry kullanväriseen X-merkkiin ja write()-funktiolla kirjaa ylös kaikkien tallentamattomien pullojen määrä.
Koodieditoriin kirjoitetaan viestin luonnos, aseta kunkin tallentamattoman pullon oikea määrä vähentämällä kaksi aiemmin luotua muuttujaa, esimerkiksi: empty_bottles-empty_missing. Kun kaikki jäljellä olevat tuotteet on laskettu, olet suorittanut tason.