Fonksiyonlar hakkında

Fonksiyonları tam net anlayamıyorum lütfen bana yardımcı olun

1 Beğeni

Hangi kısmı anlamıyorsunuz mesela

+1 bende tam çözemedim def class lambda işlemlerini.

Zamanında şöyle bir konu açmıştım (1 yıl kadar önce)

Verilen cevaplarda hem fonksiyonun ne olduğunu hemde fonksiyonlarda neden parametre kullanıldığını anlatan güzel insanlar var. O yorumları okuyabilirsiniz. Yetmezse bunları okuduktan sonra birde Burdan okuyarak işlemeniz çok daha etkili olur diye düşünüyorum. Zira bende fazlasıyla işe yaradı.

1 Beğeni

yani aslında anlıyorum ama daha fazla ornek kaynaği olsa daha iyi anlayabilirim varmı oyle bir site

ya bu foruma bakıyorum herkas cok guzel programlar yazıyor ben neden yazamıyorum
herkeste diyor ben yeni basladım işte su programı yaptım acaba benim yanliş yaptığım bişeyler mi var
ben sadece basit bir hesap makinesi tek yapabiliyorum

ki onu bile tam yapamıyorum

fonksiyonları nasıl kullanacağimı nerede kullanacağımı bilmiyorum yada bildiğim fonksiyonlarla nasıl bi uygulama yazacağımı bilmiyorum

Fonksiyon aslında adı üstünde belirli bir görevi yapan program parçacıkları. Örneğin programın içinde sıkça faktoriyel hesabı kullanacağını varsayalım. Her faktoriyel kullanacağın yerde döngü açmak yerine bunu bir fonksiyon olarak yapıp hep onu kullanabilirsin.

Fonksiyonlar olmasaydı tekrar kodlar olurdu ki bu hem programın karışık olmasına hem de yazma zorluğuna sebep olurdu.

2 Beğeni

Merhaba, sakın bu durum size havlu attırmasın. Yapamıyorum diye üzülmeyin. Ben de zamanında senin gibiydim. Birçok basit proje yaptım, birçoğunda başarısız oldum, elime yüzüme bulaştırdım. github repom başarısız olmuş projelerimle dolu. Ama pes etmedim, her zaman sabırla kendimi geliştirmeye çalıştım, ve geliştiğimi de hissediyorum. Asla pişman değilim, o projeler benim gurur kaynağım. Edison, ampulu bilmem kaçıncı denemede yaktı. Mesela git konsol için hımbıl oyunu yaz, tic-tac-toe yaz, s-o-s falan yaz. Satranç da olur. Ne seviyedesin bilmiyorum ama.

Mesela satranç için konuşayım.
Fonksiyonlar tek bir işi yapsın, atıyorum menuyu bir fonksiyon ekrana bastırsın, hesaplamayı başka bir fonksiyon yapsın, uygunluğu başka bir fonksiyon kontrol etsin. Hamleyi başka bir fonksiyon yapsın.

Böylelikle fonksiyonların işlevini anlayacağını düşünüyorum.

4 Beğeni

teşekkür ederim cok yardımcı oldunuz

Seninle ayni dusuncedeyim. Acaba nerede hata yapiyorum. Yeni basladim gibi yazilar gorupte, insanlarin kodlarini gorunce, bende yeniyim ben niye yapamiyorum diyorum. Pes etmek yok, mucadeleye devam. Basta anlamadigim konulari, uzerlerinden tekrar gecince anlamaya basladim. Bazi kodlari gorunce ne ise yaradiklarini anlayabiliyorum ama, yazamıyorum:) gunde 1 saat ayirmak bize bir sey kaybettirmez, aksine bize fayda verir. Egitimleri birakip normal hayatima da devam edebilirim. Ama bu benim kaybim olur. Normal hayatima kodlama egitimlerinide ekledigimde, iste bu benim kazancim olur. Cunku bu hayat oyle veya boyle akip gidiyor. Ogrenmem yillarimida alsa, ben bu yazilimi insaAllah ogrenicem. Evladlarimada ogreticem insaAllah

2 Beğeni

Kendine bişey belirle. Onu gün boyunca araştır, et ve yap. Not kalem tut. Ama tabi tüm kodu yazma. Şu şu işe yarar, bu bu işe yarar. Diye kısa ve öz not al. Detaylar kullandıkça ve lazım olduğunda yapacağın araştırmalarla zaten aklında kalır.

Mesela benim yaptığım terminal için bir savaş oyunu gibi bişey vardı, iki arkadaş uğraşıyorduk. Oyuna oyun demek için bin şahit gerek, zaten şuan doğru düzgünde çalışmıyor sanırım. Ama onun sayesinde çoğu şeyi öğrendim.

O dönem yaptıklarım:

Ben not almadım, keşke alsaydım :smiley:
Vakitle bazı şeyler unutuluyor ve karışılıyor, not almak güzeldir. :slight_smile:

İnşallah hayallerini gerceklestirebilirsin knk

Merhaba aslında çok basit fonksiyon çağrıldığında kendisine verilen kodları çalıştırır parantez içerisine illa bir şey yazmanız gerekmez. Mesela toplama işlemi yapan bir fonksiyon düşün.

def topla():
toplam = 5+3
return toplam

burada bir fonksiyon tanımladık ve basit bir toplama işlemi yaptık ve toplam değerini return ile geriye döndürdük eğer fonksiyonu kendi adı ile çağırırsak yani topla() şeklinde çağırırsak bir çıktı alamayız çünkü ancak print fonksiyonu içerisinde çağırırsak yani print(topla()) şeklinde o zaman bize 8 değerini döndürecek… Dikkat edersen burada toplanacak sayıları kendimiz verdik ancak fonksiyon dışarıdan bir değer alabilir mesela kullanıcının verdiği bir değer

def topla(a,b):
toplam = a+b
return toplam

Bu fonksiyona ise a ve b parametreleri verdik dikkat edin burada verdiğimiz parametre esasında kullanıcının gireceği değerler yada başka bir fonksiyonun yada fonksiyonların döndürdüğü değerde olabilir bu durumda ise verilen parametreleri toplar ve print fonksiyonu içerisinde topla fonksiyonunu çağırırsak parametrelere hangi değer verildiyse o değerleri toplar ve geriye döndürür örn: print(topla(3,5))

Özellikle anlamadığın bir yer varsa söyle o konuya yoğunlaşalım sorduğun sorunun ucu çok açık.

1 Beğeni

ya bak simdi mesela hani bu karakter dizileri fln var ya onlar benim ne işime yarayacak nerede kullanacam kisaltıp uzatmayı veya araya virgul koymayı zaten kendimiz yazamiyormuyuz nerede kullanacam onları mesela bak bu hata ayıklamaya kadar her sey tmm ondan sonrasını anlayamiyorum karakter dizeleri fln onların ne işime yarayacaklarını tam olarak anlamadım ya benim seviyemdeki her kes cok guzel programlar yazabiliyor ama ben hic bir sey yapamiyorum bana yardimci olabilirmisin bu konuda simdiden tesekkur ederım

yazılımın temel amacı insanları amelelikten kurtarmaktır. fonksiyonlar da belirli işleri tek başlarına yaparak bunu sağlıyor. karakter dizileri ise bir metni bir değişkende tutmanın tek yolu. onlar üzerinde işlem yapan kendi fonksiyonları ise (bunlara özel olarak metod deniyor sanırım) insanların kenid eliyle zor yapacağı işleri basitleştirir.

veya listeler. onlar da bir değişken içinde birden fazla veri tutmamıza olanak sağlar. bu sayede her değişkene bir isim atamak zorunda kalmayız. örneğin bir oyunda kullanıcı envanteri yapıyorsunuz ve o envanterde belirli türde veriler var. envantere her eklenen veri için yeni değişken oluşturmak yerine basitçe listeye ekleyiverirsiniz. veya listeden class kullanarak yeni bir veri türü de oluşturup onu kullanabilirsiniz.

2 Beğeni