Gelişmiş Python Geliştirme Kursu
Bölüm
>
Seviye
Async/Await
Mesajları Okuma
Amaç
read() fonksiyonunu kullanarak şarap mahzenindeki öğe numaralarının doğru olduğunu kontrol edin ve geriye kalan stoğu hesaplayın.
Şarap mahzeninde şarap şişeleri bulunan birkaç kasa var, bunlar dağıtım için üst kata taşınmak üzere ayarlandı. Depo odasında, masaların üzerinde siparişlerin yazılı olduğu notlar olacak, yanında ise şişeleri tutan kasalar yer alacak. Her kasadaki şişe sayısının notlardaki ile eşleştiğini doğrulamanız ve eksik öğeleri tamamlamanız gerekiyor.
Öncelikle, şarap odasında bulunan serbest şişeleri toplayın; böylece siparişlerde eksik olan öğeleri tamamlamak için elinizin altında hazır bulunsun. Üç (3) çeşit şarap şişesi var, topladıktan sonra, bunlar için aşağıdaki gibi değişkenler oluşturun: empty_bottles, purple_bottles, yellow_bottles ve her birinde topladığınız sayıyı saklayın.
Alanda bulunan tüm şişeleri topladıktan sonra, depo odasında içi X işaretiyle belirtilmiş aydınlık alana gidin ve notlara bakın. Not üzerindeki sipariş bilgilerini açılır pencere aracılığıyla göstermek için read() fonksiyonunu kullanın. write() fonksiyonuna benzer şekilde, read() fonksiyonu bir async fonksiyonudur ve kod yazılmadan önce await kullanılmasını gerektirir, örneğin: await player.read().
Notlar, altlarındaki halılara göre renklendirilmiştir; sipariş numaralarını öğrendikten sonra, renk kodlu kasaların önünde bulunan koyu X işaretlerine gidin ve her kasanın içeriğini kontrol etmek için speak() fonksiyonunu kullanın. Kasalara karşılık gelen üç (3) sabit bulunmaktadır: green_crate, blue_crate ve red_crate.
Her kasanın içeriğinin ilgili renk halıdaki notla eşleştiğini kontrol edin. Kasalarda, notlarda belirtilen eksik öğeler varsa, bu öğeleri ilgili kasalara ekleyin. empty_missing, purple_missing ve yellow_missing değişkenlerini oluşturun ve eksik olan her öğenin sayısını kasanın içeriğine ekleyin.
Değişkenler ayarlandıktan sonra, place() fonksiyonunu kullanarak eksik şişeleri kasalara ekleyin, örneğin: player.place(empty_missing). Tüm öğeler ayarlandıktan sonra, altın X işaretine gidin ve depolanmayan kalan tüm şişelerin sayısını write() fonksiyonu ile yazın.
Kod editöründe mesaj taslağı yazılacaktır; depolamadığınız kalan şişelerin doğru miktarlarını oluşturduğunuz iki değişken arasındaki farkı alarak ayarlayın, örneğin: empty_bottles-empty_missing. Tüm kalan öğeler hesaplandığında, seviyeyi tamamlamış olacaksınız.