Avansert Pythonutviklingskurs
Kapittel
>
Nivå
Asynkront/Avvent
Lese meldinger
Mål
Sjekk at antall gjenstander i vinkjelleren er korrekt ved hjelp av read()-funksjonen og oppsummer eventuelle overskuddslager.
Vinkjelleren har flere kasser med vinflasker, og disse skal flyttes opp trappen for distribusjon. I lagerrommet vil bordene ha notater med bestillinger, og ved siden av dem vil det være kasser med flasker. Du må verifisere at antallet flasker i hver kasse samsvarer med notatene, og supplere eventuelle manglende enheter.
Først, hent de løse flaskene som er i vinerommet slik at du har dem klare for å supplere eventuelle mangler i bestillingene. Det finnes tre (3) typer vinflasker; når du har samlet dem, opprett variabler for dem som følger: empty_bottles, purple_bottles, yellow_bottles og lagre antallet du har samlet av hver i disse variablene.
Når du har hentet alle flaskene i området, gå til den lyse X-markeringen inne i lagerrommet og vend deg mot notatene. Bruk read()-funksjonen for å lese bestillingsinformasjonen på notatet ved å utløse en popup. På samme måte som write()-funksjonen, er read() en async funksjon som krever await før koden skrives, slik: await player.read().
Notatene er fargekodet etter teppene under dem; når du er kjent med bestillingsnumrene, gå til den mørke X-markeringen foran de fargekodede kassene og bruk speak()-funksjonen for å sjekke innholdet i hver kasse. Det finnes tre (3) konstanter som tilsvarer hver av kassene: green_crate, blue_crate og red_crate.
Sjekk at innholdet i hver kasse samsvarer med notatet til det tilsvarende fargede teppet. Hvis det mangler enheter i kassene slik det er beskrevet i notatet, legg dem til i den riktige kassen. Opprett variabler: empty_missing, purple_missing og yellow_missing og legg antallet som mangler til kassens innhold.
Når variablene er satt, bruk place()-funksjonen for å legge de manglende flaskene til kassene, for eksempel: player.place(empty_missing). Etter at alle enhetene er satt, gå til den gylne X-markeringen og write() en oppsummering av alle de resterende flaskene som ikke ble lagret.
Et utkast til meldingen vil bli skrevet i kodeeditoren. Sett de riktige mengdene av hver av de resterende flaskene du ikke lagret ved å trekke fra de to variablene du opprettet, for eksempel: empty_bottles-empty_missing. Når alle gjenværende enheter er oppsummert, har du fullført nivået.