Fonksiyonlar #3 - Python Dersleri (Tutorials)

avatar

kapak.jpg

Merhabalar

Python programlama derslerine fonksiyonlar konusu ile devam edelim. Bundan önceki derslerimizde fonksiyon tanımlama, parametresiz ve parametreli fonksiyonlar kavramlarından bahsetmiş, uygulamalar yapmıştık.

Bu dersimizde de uygulamalara devam edelim. Faktoriyel hesabı yapan bir fonksiyonu kendimiz tanımlayalım. Böyle bir örneği daha önce yaptığımız için algoritmasını geçiyorum.

Uygulamanın kodu aşağıdaki gibidir :

Örneğimizde faktoriyelAl() adında bir adet parametre alan bir fonksiyon tanımladık. Kullanıcı bu fonksiyonu çağırırken fonksiyon adını yazdıktan sonra faktoriyelini almak istediği sayıyı girmesi yeterli.

Kullanıcı, fonksiyonu kullanırken olası 3 durum oluşabilir :

  • Sıfır(0) ya da 1 sayısını girebilir,
  • Negatif bir sayı girebilir,
  • Bunların dışında pozitif bir sayı girebilir.

Bu 3 durum için fonksiyon bloğu içerisinde 3 ayrı if sorgusu bulunmaktadır. İlk if sorgusunda

if(sayi == 1 or sayi == 0):

kodu ile girilen sayının 0 veya 1 olma durumu sorgulanmıştır. 0! veya 1! in değerleri 1 olduğundan

faktoriyel = 1

kodu ile faktoriyel değişkenine 1 değeri atanmıştır.

İkinci if sorgusunda ise

elif(sayi < 0 ):

kodu ile kullanıcının girdiği sayının negatif olup olmadığı sorgulanmıştır. Eğer kullanıcı negatif sayı girerse

print("Hatalı işlem...")
print("Negatif sayıların faktoriyeli hesaplanamaz.")

kodları ile kullanıcıya

mesajları verilmiştir.

Eğer kullanıcı sıfır veya 1 veya herhangi bir negatif sayı girmemişse

else:

bloğu çalışacaktır. else bloğu içerisindeki kodlar ise aşağıdaki gibidir :

else bloğu içerisinde bir for döngüsü vardır. Bu for döngüsü range() fonksiyonun oluşturduğu sayı dizisi içerisinde gezecektir :

[2,3,4,5,.....sayi]

for döngü bloğu içerisindeki

faktoriyel = faktoriyel * item

kodu ile faktoriyel hesabı yapıldıktan sonra

print("{}'nin faktoriyeli : {}".format(sayi,faktoriyel))

kodu ile de değeri ekrana yazdırılacaktır.

Olası durumlar için fonksiyonumuzun çalışması ve aldığımız sonuçlar aşağıdaki gibidir :

Şimdilik bu kadar.

Umarım faydalı bir çalışma olmuştur.

Teşekkürler.

yesilayrca.png

Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me



0
0
0.000
1 comments