Python'da For Döngüsü ve Fonksiyonlara Giriş | Ders 6

in #utopian-io7 years ago (edited)

python-logo.png

Ne Öğreneceğiz

  • Python'da for döngüsü
  • Python'da fonksiyonlara giriş

Gereksinimler

Zorluk Seviyesi

  • Orta

Eğitim İçeriği

Eğitimimize for döngüsü ile devam ediyoruz. for döngüsü aslında while'a çok benzer, yine döngüleme işlemlerinde kullanılır fakat biraz farklıdır. Bu daha çok listelemeye yönelik kullanılır. Mesela bir kelimenin harflerini listelemek, veya bir listenin içerisinde ki değerleri listelemek gibi amaçlarda for döngüsünü kullanırız.
Basit bir örnekle başlayalım, örneğimiz şöyle olsun;
sayilar = [1,2,3,4,5,6] for sayi in sayilar: print(sayi)
Baktığımızda, sayilar diye bir liste oluşturduk, daha sonra
forsayiinsayilar:
diyerek, for komutu ile sayi değişkenini sayilar içerisinde sırayla listedeki değerlere eşitledik. print(sayi) diyerek de bu çıktıları ekrana yazdırdık. Sonuç:

Mesela şimdi de bir kelimenin içerisinde ki harfleri yazdıralım, bunun için de bir str değişkeni atayalım ve for değişken içerisindeki değerleri sırayla abc değişkenine atayıp çıktı alalım.
kelime = "cryptoadamc" for abc in kelime: print(abc)
Sonucumuz:

Gördüğümüz gibi for ile bu şekilde listede ki değerleri ve stringde ki harfleri sıralayabiliyoruz.

Mesela, utopian kelimesinde i harfine geldiği zaman program dursun;
for k in "utopian": print(k) if k=="i" : break
Gördüğünüz gibi i harfine gelince programımız durdu.

For döngüsü genel hatlarıyla bu şekilde kullanılıyor, aşağıda fonksiyonlara giriş yaptığımızda for döngüsünü iyice anlayacaksınız, birlikte anlatmamın nedeni iç içe olmaları ve pekiştirerek, anlaşılması daha kolay bir hal almasıdır.

Python'da Fonksiyonlar

Fonksiyon Nedir ?
Fonksiyonu kısaca tanımlamaya çalışırsak; programımızda aynı kodlamayı farklı yerlerde kullanmak isteyebiiriz, mesela dizi elemanlarının birbirleri ile çarpıldığı bir kodu, programımızda 3 farklı yerde kullanacağız. İşte bunun için aynı kodları tekrar tekrar yazmak yerine, dediğimiz çarpma işlemi kodlarını bir fonksiyona tanımlıyoruz ve artık tekrar o kodları yazmak yerine tanımladığımız fonksiyonu kullanabiliyoruz. Basitleştirerek örnekleyecek olursak, değişkene nasıl değer atıyorsak, fonksiyona da kod parçacığı atıyoruz. Ne olduğunu öğrendiğimize göre yavaş yavaş nasıl işlediğine geçelim.

Fonksiyon nasıl tanımlanır ?
Python dilinde fonksiyon tanımlamak için def komutu kullanılır. Sonrasında ise fonksiyon ismi yazılır, ve o fonksiyon adı altında ki işlemler(kodlama) artık o fonksiyonun kimliği olur. Yani artık nereye çağrılırsa o işlemi yapar.
defsayac():
Burada fonksiyonumuzun ismi sayac()'dır.

Basit olarak örnekleyecek olursak;
def sayac(): sayilar = [1,2,3] for i in sayilar: print(i) sayac()
dediğimizde;

Görüldüğü gibi defsayac(): ile fonksiyonumuzu başlatıyoruz ve sayac() ile başladığımız fonksiyonu bitirmemiz ve sınırlarını belirlememiz gerekiyor. Belirli bir sınır içerisinde olacak ki başka biyerde fonksiyonumuzu çağırdığımız zaman hangi kodların çalışacağı da belli olsun. Burada for döngüsü ile sayıları listeledik mesela, artık sayac() fonksiyonunu her çağırdığımızda bu işlemi yapacaktır bize.

Başka bir örnek ile devam edelim;

Yukarıda ki örneği biraz açalım:
Bu sefer fonksiyonumuzun içerisine bir değişken atadık defsayac(numara) şeklinde, daha sonra for döngüsü ile 1 'den numara 'ya kadar saydırma yaptık.
Gördüğünüz gibi şuana kadar numara diye bir değişken yok ortada, dedik ki kullanıcıdan isteyelim bu sayıyı. Bir int input'u oluşturduk ve kullanıcıdan bir sayı girmesini istedik. Girilen bu sayıyı aldık ve fonksiyonda numara yerine kullandık.
Sonuç olarak 1'den başladı ve girilen numaraya kadar saydı.

Hemen altında ise, yazdırdığımız metinden sonra sayac(numara) yerine istediğimiz sayıyı kod yazdık. Yani kullanıcıdan değilde belirlediğimiz sayıya göre işlem yapsın dedik, bu yüzden;
sayac(3) yazdık ve yukarıda anlattığımız sayma işlemini 1'den manuel olarak yazdığımız 3'e kadar yaptı.

Başka bir örnek yaparak konumuzu sonlandıralım, mesela kullanıcının girdiği sayının tek veya çift olduğunu söyleyen bir program yapalım;
Şimfi öncelikle mantığımızı kuralım, bir sayı 2'ye tam bölünüyorsa çifttir ve kalan 0'dır. Eğer 2'ye tam bölünmüyorsa ve kalan 0'dan farklı ise tek sayıdır. Buna göre sırasıyla programımızı yazalım,

Öncelikle fonksiyon kalıbımızı ve, tek veya çift olunca fonksiyonumuz ne yapacağını belirleyelim;
def tek(): print (sayi,"tek sayıdır.") def cift(): print(sayi,"çift sayıdır.")
Burada sayi değişkeninin tek veya çift olması durumunda ekrana yazılacak ifadeleri fonksiyon ile belirtik, fakat henüz ortada sayi ve diğer işlemler yok, devam edelim.
sayi = int(input("bir sayı girin: ")) if sayi % 2 == 0: cift() else: tek()

input ile kullanıcıdan sayı girmesini istedik ve daha sonra girilen sayıyı 2'ye böldürüp kalanına baktık. (Not: % operatörü, bu işlevi görmektedir.) Sonucun 0 olması durumunda çift sayı fonksiyonuna yönelttik, aksi durumda tek sayı fonksiyonuna. Daha sonra yukarıda fonksiyonda belirlediğimiz işlemler yapıldı. (Tek sayı durumunda print ile x tek sayıdır, çift sayı durumunda, x çift sayıdır diye ekrana yazdırdı.)
Sonuç:

Bu örneğimiz ile dersimizin sonuna gelmiş olduk, bir daha ki dersler de görüşmek üzere.
Selametle.

Önce ki Dersler

Python 3 - Giriş ve Programlama Dili Mantığı | Ders 1
Python Değişkenler ve Listeler (Diziler) | Ders 2
Python'da if (eğer), elif ve else Fonksiyonları | Ders 4



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

@cryptoadamc, I always try to support who contribute to open source project, upvote you.

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Hey @cryptoadamc I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x