Python Geliştirme Kursu
Bölüm
>
Seviye
Sözlükleri Kullanma
Sözlükler kullanarak özel fonksiyonlar
Amaç
Alanı dolaşan, ekinleri dikip sulayacak özel bir fonksiyon kullanın.
Alanda dikilmesi gereken birkaç ağaç var, tohum içeren çantayı alın ve ardından kuyudan su doldurun. Alanı dolaşmak için bir sözlük içeren özel bir fonksiyon kullanın, ardından tohumları dikip sulayın.
Aşağıdaki ağaç tohumlarını içeren sözlüğü size verecek olan tohum çantasını alın: "orange : 3" , "pear : 4" , "apple : 3" , "peach : 2". Kuyunun yanındaki parlak X işaretine doğru yürüyün ve su toplamak için collect() fonksiyonunu kullanın, şöyle: player.collect("water").
Gerekli tüm malzemeleri topladıktan sonra, alanı dikmek ve sulamak için tohumları ve suyu kullanarak sow_field adlı özel bir fonksiyon oluşturun. Özel fonksiyon üç (3) argüman alacaktır: tree, loops ve direction. Bu argümanları kullanarak özel fonksiyon, alanı sulamak için bir for döngüsü gerçekleştirecektir.
def sow_field(tree,loops,direction):
for x in range(loops):
if direction == "right":
player.move_forward(2)
player.turn_left()
player.plant(seeds,tree)
player.water()
player.turn_right()
player.move_forward()
if direction == "left":
player.move_forward()
player.turn_right()
player.plant(seeds,tree)
player.water()
player.turn_left()
player.move_forward(2)
İlk argüman olan tree, sözlükte kullanılan anahtar adıdır; bunlar "orange", "pear", "apple" ve "peach"'dir. Dikim yaparken uygun adı seçin.
Bir sonraki argüman loops olup, fonksiyonun kaç defa döngü yapacağını belirler. Bu, alandaki her tür tohumun sayısına eşittir. Son argüman ise direction olup, "left" ve "right" seçeneklerinden birini belirler; fonksiyon döngüsü sırasında oyuncunun hangi yöne hareket etmesini istediğinizi seçin.
Su topladıktan sonra, haritanın en üst kısmına gidin ve özel fonksiyonu şu şekilde kullanın: sow_field("orange", 3, "right"). Seviyeyi tamamlamak için tüm ağaç tohumları için bunu yapın.