Python101 – Kararlar

If deyimi Her zaman olduğu gibi, yeni bir bölüme başlarken bir ısınma alıştırmasının iyi olduğunu düşünüyoruz.

If deyimi

Her zaman olduğu gibi, yeni bir bölüme başlarken bir ısınma alıştırmasının iyi olduğunu düşünüyoruz. Bu yüzden bir tamsayının mutlak değerini hesaplamak için kısa bir program ile başlayalım:

n = int(input("Sayı? "))
if n < 0:
   print("Sayının mutlak değeri: ", -n)
else:
   print("Sayının mutlak değeri: ", n)

Bu programı iki kez çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

Sayı? -34
Sayının mutlak değeri: 34
Sayı? 1
Sayının mutlak değeri: 1

Peki bilgisayar bu kod parçasını gördüğünde ne yapıyor? İlk önce kullanıcıdan “n = int(input("Sayı? "))” ifadesi ile bir sayı ister. Sonra “if n < 0:” satırını okur. Girilen sayı sıfırdan azsa Python ” print("Sayının mutlak değeri: ", -n)” satırını çalıştırır. Aksi takdirde ” print("Sayının mutlak değeri: ", n)” satırını çalıştırır. İki satır arasındaki farkı görebiliyorsunuz değil mi? Birinde -n, diğerinde n bastırılıyor.

Daha resmi bir şekilde anlatırsak Python, n<0 ifadesinin doğru veya yanlış olup olmadığına bakar. Bir if deyimin ardından, ifade doğru olduğunda çalıştırılan girintili bir deyim bloğu gelir. İsteğe bağlı olarak, if deyiminden sonra bir else deyimi gelir ve başka bir girintili ifade bloğu verilir. İfade false ise, bu ikinci deyim bloğu çalıştırılır. 

Bir ifadenin kullanabileceği birkaç farklı test bulunur. Aşağıda bu testlere ait bir tablo görüyorsunuz:

operatörfonksiyon
<daha az
<=küçük veya eşit
>büyük
>=büyük veya eşit
==eşit
!=eşit değil

if komutun bir diğer özelliği de elif ifadedir. Orijinal if ifadesi yanlışsa ancak başka bir durum doğru olabilirse elif kullanılır. Ve eğer ne if ne de elif ifadeleri doğru değilse, o zaman else bloğunda ne varsa gerçekleştirilir. Bir örneğe bakalım:

a = 0
while a < 10:
    a = a + 1
    if a > 5:
        print(a, ">", 5)
    elif a <= 3:
        print(a, "<=", 3)
    else:
        print("İki test de doğru değildi")

ve çıktı:

1 <= 3
2 <= 3
3 <= 3
İki test de doğru değildi
İki test de doğru değildi
6 > 5
7 > 5
8 > 5
9 > 5
10 > 5

elif a <= 3 deyiminin yalnızca if deyimi doğru olmadığında çalıştığına dikkat edin. Bir kodda birden fazla elif ifadesi olabilir ve birden çok testin tek bir deyimde yapılmasına izin verir. 

Örnekler

# Bu program == operatorünün kullanımını gösterir
# Rakamları kullanarak:
print(5 == 6)
# Değişkenleri kullanarak
x = 5
y = 8
print(x == y)

Çıktı:

False
False

high_low.py

# Yukarı/aşağı tahmin oyunu

# Burada tahmin edilecek sayının rastgele bir sayı olması daha iyi olurdu.
# Buna bir sonraki yazıda bakacağız

sayi = 7
tahmin = -1

print("Sayıyı tahmin et!")
while tahmin != sayi:
    tahmin = int(input(": "))

    if tahmin == number:
        print("Bravo! Doğru tahmin!")
    elif tahmin < sayi:
        print("Yukarı...")
    elif tahmin > sayi:
        print("Aşağı...")

Örnek çalıştırma:

Sayıyı tahmin et!
: 2
Yukarı...
: 5
Yukarı...
: 10
Aşağı...
: 7
Bravo! Doğru tahmin!

even.py

# Bir sayı sorar
# Çift mi tek mi olduğunu yazdırır
 
number = float(input("Bir sayı söyle: "))
if number % 2 == 0:
    print(int(number), " çift.")
elif number % 2 == 1:
    print(int(number), " tek.")
else:
    print(number, " değişik bir sayı.")

Örnek çalıştırmalar:

Bir sayı söyle: 3
3 tek.
Bir sayı söyle: 2
2 çift.
Bir sayı söyle: 3.4895
3.4895 değişik bir sayı.

average1.py

# 0 sayısı girilene kadar sayı sorar
# Girilen sayıların ortalamasını bastırır

count = 0
sum = 0.0
number = 1 # döngüden hemen çıkmamak için bir değer atıyoruz.

print("Döngüden çıkmak için 0 yazın")

while number != 0:
    number = float(input("Bir sayı girin: "))
    if number != 0:
        count = count + 1
        sum = sum + number
    if number == 0:
        print("Ortalama:", sum / count)

Örnek çalıştırmalar:

Döngüden çıkmak için 0 yazın
Bir sayı girin: 3
Bir sayı girin: 5
Bir sayı girin: 0
Ortalma: 4.0
Döngüden çıkmak için 0 yazın
Bir sayı girin: 1
Bir sayı girin: 4
Bir sayı girin: 3
Bir sayı girin: 0
Ortalama: 2.66666666667

average2.py

# İstenilen sayıda rakam ister ve bu sayıların ortalamasını bastırır


# Burada bir tamsayı ile girilen sayıların miktarını takip edeceğiz
# Kayan nokta sayılarını ise girdiğimiz sayılar için kullanacağız
sum = 0.0

print("Bu program bir kaç sayı soracak ve bunların ortalamasını alacak")
sayi_sayisi = int(input("Kaç sayının ortalamasını almak istersin?: "))
simdiki_sayi = 0

while simdiki_sayi < sayi_sayisi:
    simdiki_sayi = simdiki_sayi + 1
    print("Sayı sayısı:", simdiki_sayi)
    sayi = float(input("Bir sayı girin: "))
    toplam = sayi + toplam
    
print("Ortalama:", sum / count)

Örnek çalıştırmalar:

Bu program bir kaç sayı soracak ve bunların ortalamasını alacak
Kaç sayının ortalamasını almak istersin?: 2
Sayı sayısı: 1
Bir sayı girin: 3
Sayı sayısı: 2
Bir sayı girin: 5
Ortalama: 4.0
Bu program bir kaç sayı soracak ve bunların ortalamasını alacak
Kaç sayının ortalamasını almak istersin?: 3
Sayı sayısı: 1
Bir sayı girin: 1
Sayı sayısı: 2
Bir sayı girin: 4
Sayı sayısı: 3
Bir sayı girin: 3
Ortalama: 2.66666666667

Alıştırmalar

1:

Kullanıcıya adını soran bir program yazın. Sizin adınızı girerlerse “Bu güzel bir isim” deyin, “John Cleese” veya “Michael Palin” girerlelrse, onlara bu isimler ile ilgili ne düşündüğünüzü söyleyin. Diğer durumlarda ise onlara “Güzel bir adınız var” deyin.

2:

Aşağı/yukarı oyunu için yazdığımız kodu biraz değiştirin. Kullanıcının kaç kez yanlış numara girdiğini takip edin. 3 kereden fazla yanlış girerse, “Bu karmaşık olmalı.” yazdırın, aksi takdirde “İyi iş!” yazdırın.

3:

İki numara isteyen bir program yazın. Sayıların toplamı 100’den büyükse, “Bu büyük bir sayı” yazdırın.

Çözümler

1:

name = input('Adınızı girin: ')
if name == 'koddla':
    print('Bu güzel bir isim.')
elif name == 'John Cleese':
    print('... komik bir şeyler.')
elif name == 'Michael Palin':
    print('... komik bir şeyler.')
else:
    print('Güzel bir adınız var.')

2:

sayi = 7
tahmin = -1
deneme = 0

print("Tahmin et!")
while tahmin != sayi:
    tahmin = int(input(": "))
    deneme = deneme + 1
    if tahmin == sayi:
        print("Bravo! Doğru tahmin!")
    elif tahmin < sayi:
        print("Yukarı...")
    elif tahmin > sayi:
        print("Aşağı...")

if deneme > 3:
    print("Bu karmaşık olmalı.")
else:
    print("İyi iş!")

3:

sayi1 = float(input('Birinci sayı: '))
sayi2 = float(input('İkinci sayı: '))
if sayi1 + sayi2> 100:
    print('Bu büyük bir sayı.')

Bu yazı topluluk tarafından oluşturuldu. Lisans bilgisine bakabilirsiniz. Yanlış veya eksik bilgileri düzenlemek için github üzerinden katkıda bulunabilirsiniz.

Kategoriler: Python101, Kılavuz, Python

konular

Okumaya devam et!
Sonraki Yazı: Python101 – Hata Ayıklama

Hata ayıklama nedir?  “Programlamaya başlar başlamaz, programları doğru yapmanın düşündüğümüz kadar kolay olmadığını gördük.

Yerel Python modüllerinin listesini nasıl alabiliriz?

Python kurulumumda (UNIX sunucusu) bulunan Python modüllerinin listesini almak istiyoruz.

Fonksiyonlar – İşlevler

İşlevler, bir dizi belirli eylemi gerçekleştirmek için organize, yeniden kullanılabilir ve modüler kod parçaları sağlar.

Python101 – Python 3 Kurulumu Nasıl Yapılır?

Bu yazı Windows kullanıcıları için Python 3 kurulumunu tartışır.

Python’da bir nesnenin yinelenebilir olduğu nasıl anlaşılır?

Elimde bir obje olsun ve bu objenin yinelenebilir olup olmadığını merak ettiğimi varsayalım.

Yorum Gönderin

E-posta hesabınız yayımlanmayacak.

koddla
Tema Mundana by WowThemes.net.