Sizi bilmiyorum, ama benim karnım acıktı. Güzel bir çukulatalı kek olsaydı iyi olurdu.
Keki yapabilmek için aşağıdakine benzer bir tarife ihtiyacımız var:
Tarif bir bilgisayar programına benzer: istenen sonucu elde etmek için adım adım eksiksiz uygulanması gereken bir dizi emir. Bu noktada Python'a geri dönüyorum.
Aşağıdakini Python yorumlayıcısı ile deneyebilirisiniz:
>>> malzemeler = ["4 yumurta", "100 g şeker", ... "250 g çikolata", "30 g kakao"] >>>
malzemeler Pythonda kullanılan listelere bir örnektir. Bir liste herhangi bir sayıda eleman içerebilir. Az önceki örnekte tüm elemanlar string seçilmişler, listenin elemanları sayılar, başka listeler veya henüz görmediğimiz Python nesneleri de olabilir. Şimdi aşağıdakini deneyin:
>>> for eleman in malzemeler: ... print eleman 4 yumurta 100 g şeker 250 g çikolata 30 g kakao >>> malzemeler[0] '4 yumurta' >>> malzemeler[0:2] ['4 yumurta', '100 g şeker']
Daha önceden gördüklerimizden biraz farklı olsa da bunlar tanıdık gelmiş olmalı. Aşağıdakini de deneyin:
>>> for harf in malzemeler[0]: ... print harf ... 4 y u m u r t a >>> malzemeler[0][2] 'y' >>> '4 yumurta'[2] 'y'
Daha önce gördüğümüz gibi burada malzemeler[0] '4 yumurta' ile eş anlamlıdır; bu nedenle malzemeler[0][2] '4 yumurta'daki üçüncü (Python saymaya 0'dan başlar, hatırlayın) karakterdir.
Yukarıdaki tarifte önemli bir malzemeyi unuttum: kekin üzerine süreceğimiz krema. Bunu listeye ekleyebilir ve eklendiğini aşağıdaki gibi kontrol edebilirim:
>>> malzemeler.append("krema") >>> print malzemeler ['4 yumurta', '100 g şeker', '250 g çukulata', '30 g kakao', 'krema']
append() liste sınıfının bir metodudur. malzemeler bu sınıfın bir örneğidir. Daha önceki derslerde gördüğümüz gibi, malzemeler örneğindeki append metodunu araya nokta koyarak kullanıyoruz. append'in parametresi listeye eklemek istediğimiz nesnedir. Ekleme her zaman listenin sonuna yapılır.
Listelerin başka metotları da vardır; bunları yeri geldiğinde açıklayacağım. Eğer bunları görmek istiyorsanız Python yorumlayıcısında dir([]) yazın ve Enter'a basın. Burada [] boş bir listedir, onun yerine herhangi bir liste de kullanılsa aynı sonuç alınır. append metodunu görebildiniz mi.
Listeye eleman eklemeyi öğrendik, şimdi sıra silmede. Bunun için del komutunu kullanacağız.
>>> del malzemeler[3] >>> print malzemeler ['4 yumurta', '100 g şeker', '250 g çukulata', 'krema']
del komutu listelerden eleman silmekten başka işlerde yapar. Örneğin, tanımlanmış bir değişkeni silebilir.
>>> a = 3 >>> print a 3 >>> del a >>> print a Traceback (most recent call last): File "<input>", line 1, in ? NameError: name 'a' is not defined
Reeborg'un dünyasında kendine özgü adları olan iki tane robot yaratın, biraz dolaşmalarını sağlayın ve daha sonra robotlardan birisinin del komutu ile yok olmasını sağlayın. Robot ekrandan kaybolmadan önce diğer robotun en azından bir adım daha atmasına ihtiyacınız olabilir.
range()hakkında bir sır öğrenmeye hazırsınız:
>>> print range(6)
[0, 1, 2, 3, 4, 5]
Doğru: range() bir liste yaratır!
Bir veri tipini diğer bir veri tipine dönüştürmekte kullanılan Python fonksiyonları aşağıda verilmiştir:
>>> first_number = 1304 >>> second_number = 987 >>> >>> # str() ile tamsayının string'e dönüştürülmesi >>> first_string = str(first_number) >>> first_string '1304' >>> second_string = str(second_number) >>> second_string '987' >>> # int() ile stringin tamsayıya dönüştürülmesi >>> int(first_string) 1304 >>> # list() ile bir stringin listeye dönüştürülmesi >>> first_list = list(first_string) >>> first_list ['1', '3', '0', '4'] >>> second_list = list(second_string) >>> second_list ['9', '8', '7'] >>> # join() ile string aralarının doldurulması >>> '...'.join(second_string) '9...8...7' >>> '-'.join(first_string) '1-3-0-4' >>> # boş stringle '' eski haline getirmek >>> ''.join(first_string) >>> '1304' >>> ''.join(second_string) >>> '987' >>> # pop() ile listenin son elemanının alınıp silinmesi >>> # Not: pop() append()'in bir anlamda tersidir >>> first_list ['1', '3', '0', '4'] >>> last_element = first_list.pop() >>> last_element '4' >>> first_list ['1', '3', '0'] >>> # len() fonksiyonu bir listedeki >>> # eleman sayısını verir >>> len(first_list) 3
Aşağıda gösterildiği gibi Reeborg'a liste, string ve tamsayıları kullanarak toplama yapması için yardımcı olun.