Kurs Rozwoju w Pythonie
Rozdział
>
Poziom
Tworzenie własnych funkcji
Korzystanie z operatorów w funkcjach
Cel
Zbierz wszystkie jagody i sprawdź, czy masz wystarczająco dużo do zgniecenia, używając operatorów w funkcjach niestandardowych.
W polu znajduje się kilka jagód, które możesz zebrać i zgnieść na puree, ale musisz sprawdzić, czy masz wystarczająco dużo jagód na porcję. Aby to ułatwić, użyj funkcji niestandardowej, aby przeprowadziła dla Ciebie obliczenia.
Pierwszą rzeczą, jaką musimy zrobić, to ustawienie zmiennej o nazwie serving, jest to ilość potrzebna na porcję jedzenia. Ta zmienna powinna być całkowitą ilością jagód na polu podzieloną (/) przez trzy (3), na przykład serving = total amount of berries / 3.
Musisz sam policzyć całkowitą liczbę jagód na polu i wpisać ją. Powód, dla którego dzieli się ją przez trzy (3), jest taki, że na polu są trzy (3) rodzaje jagód: czerwone jagody, niebieskie jagody i czarne jagody. Wartość zmiennej serving to średnia liczba jagód na polu.
Ustaw niestandardową funkcję na przyszłe potrzeby o nazwie mash_berries, ta funkcja sprawdza, czy masz wystarczająco dużo jagód z wprowadzonej zmiennej i zwraca wiadomość.
def mash_berries(item):
if item > serving:
player.speak("Masz za dużo jagód")
player.speak("Masz %d więcej niż potrzebujesz" % (item - serving) )
if item == serving:
player.speak("Masz odpowiednią ilość jagód")
if item < serving:
player.speak("Masz za mało jagód")
player.speak("Potrzebujesz %d więcej do porcji" % ( serving - item) )
Zbierz wszystkie jagody w polu i zapisz liczbę, jaką zbierzesz z każdego rodzaju w zmiennych: red_berries, blue_berries i black_berries, które są fioletowymi jagodami obecnymi w polu. Udaj się do ich odpowiadających znaczników X i użyj niestandardowej funkcji, wprowadzając każdą zmienną jako argument, na przykład: mash_berries(red_berries).
Ukończ poziom, robiąc to dla wszystkich trzech rodzajów jagód; znaki obok znaczników X informują, którą jagodę należy sprawdzić w tym miejscu. Górny znacznik X to czarne jagody, a dolny to niebieskie jagody.