Zaawansowany kurs programowania w Pythonie
Rozdział
>
Poziom
Async/Await
Czytanie wiadomości
Cel
Sprawdź, czy liczba przedmiotów w piwnicy jest poprawna, korzystając z funkcji read() oraz zlicz pozostały zapas.
Piwnica zawiera kilka skrzyń z butelkami wina, które mają zostać przeniesione na górę do dystrybucji. W magazynie na stołach znajdą się notatki z zamówieniami, a obok nich — skrzynie z butelkami. Musisz zweryfikować, czy liczba butelek w każdej skrzyni odpowiada tej podanej w notatkach, i uzupełnić brakujące pozycje.
Najpierw zbierz luźne butelki, które znajdują się w pomieszczeniu z winem, aby mieć je pod ręką do uzupełnienia brakujących pozycji z zamówień. Istnieją trzy (3) rodzaje butelek wina; po ich zebraniu utwórz zmienne dla nich w następujący sposób: empty_bottles , purple_bottles , yellow_bottles i zapisz w nich liczbę zebranych butelek każdego rodzaju.
Gdy zbierzesz wszystkie butelki z pola, udaj się do jasnych X oznaczonych wewnątrz magazynu i staw czoła notatkom. Użyj funkcji read(), aby odczytać informacje o zamówieniu z notatki poprzez wywołanie wyskakującego okienka. Podobnie jak funkcja write(), funkcja read() jest async i wymaga użycia await przed jej wywołaniem, przykładowo: await player.read().
Notatki są oznaczone kolorystycznie według dywaników znajdujących się pod nimi. Gdy zapoznasz się z numerami zamówień, udaj się do ciemnych X oznaczonych przed kolorowo oznaczonymi skrzyniami i użyj funkcji speak(), aby sprawdzić zawartość każdej skrzyni. Istnieją trzy (3) stałe odpowiadające poszczególnym skrzyniom: green_crate , blue_crate oraz red_crate.
Sprawdź, czy zawartość każdej skrzyni odpowiada notatce z dywanika właściwego koloru. Jeśli w skrzyniach brakuje pozycji wymienionych w notatce, uzupełnij je, dodając brakujące elementy do odpowiednich skrzyń. Utwórz zmienne: empty_missing , purple_missing oraz yellow_missing i dodaj do zawartości skrzyni liczbę brakujących elementów.
Gdy zmienne zostaną ustawione, użyj funkcji place(), aby dodać brakujące butelki do skrzyń, na przykład: player.place(empty_missing). Po umieszczeniu wszystkich przedmiotów udaj się do złotego X oznaczenia i użyj funkcji write(), aby zapisać podsumowanie wszystkich pozostałych butelek, które nie zostały przechowane.
Projekt wiadomości zostanie zapisany w edytorze kodu. Ustal poprawne ilości każdej z pozostałych butelek, które nie zostały umieszczone, odejmując od siebie dwie utworzone zmienne, na przykład: empty_bottles-empty_missing. Gdy wszystkie pozostałe przedmioty zostaną zliczone, ukończysz poziom.