Python if else kullanımı Test 1

Soru 08 / 10

Bir psikoloji testinde, puan 70'in üzerindeyse "ileri düzey", 40-70 arası "orta düzey", 40'ın altı "temel düzey" olarak belirleniyor. Hangi kod parçası bu testi doğru uygular?

A) if puan > 70: print("ileri") elif puan > 40: print("orta") else: print("temel")
B) if puan >= 70: print("ileri") elif puan >= 40: print("orta") else: print("temel")
C) if puan > 70: print("ileri") elif puan >= 40: print("orta") else: print("temel")
D) if puan > 70: print("ileri") if puan > 40: print("orta") else: print("temel")

Merhaba sevgili öğrenciler!

Bu soruda, bir psikoloji testinin puanlama sistemini doğru bir şekilde uygulayan kod parçasını bulmamız isteniyor. Koşullu ifadelerin (if, elif, else) nasıl çalıştığını iyi anlamak, bu tür problemleri çözmek için çok önemlidir.

Adım 1: Test Kriterlerini Anlayalım

  • İleri düzey: Puan 70'in üzerinde olmalı ($puan > 70$).
  • Orta düzey: Puan 40 ile 70 arasında olmalı. Bu ifade, kodun yapısına göre farklı yorumlanabilir.
  • Temel düzey: Puan 40'ın altında olmalı. Bu ifade de kodun yapısına göre farklı yorumlanabilir.

Python'daki if-elif-else yapısının en önemli özelliği, koşulların sırayla kontrol edilmesidir. Bir koşul doğru bulunduğunda, o bloğun içindeki kod çalışır ve diğer elif veya else blokları tamamen atlanır.

Adım 2: Seçenek A'yı İnceleyelim

Kod parçası:

if puan > 70:
    print("ileri")
elif puan > 40:
    print("orta")
else:
    print("temel")
  • if puan > 70: Bu koşul, puan 70'ten büyükse "ileri" yazdırır. Bu, "ileri düzey" tanımımızla birebir uyuşuyor. Örneğin, $puan = 71$ ise "ileri" yazdırır.
  • elif puan > 40: Bu koşul, sadece ilk if koşulu (puan > 70) yanlışsa kontrol edilir. Yani, bu noktaya geldiğimizde $puan \le 70$ olduğunu zaten biliyoruz. Bu durumda, puan > 40 koşulu, aslında $40 < puan \le 70$ aralığını ifade eder. Örneğin, $puan = 70$ ise ilk koşul yanlış olur, ikinci koşul ($70 > 40$) doğru olur ve "orta" yazdırır. $puan = 41$ ise yine "orta" yazdırır. Bu, "orta düzey" tanımını bu aralık için doğru bir şekilde uygular.
  • else: Bu blok, hem ilk if koşulu (puan > 70) hem de elif koşulu (puan > 40) yanlışsa çalışır. Bu durumda, $puan \le 70$ ve $puan \le 40$ olduğunu biliyoruz. Bu da $puan \le 40$ anlamına gelir. Örneğin, $puan = 40$ ise ilk iki koşul yanlış olur ve "temel" yazdırır. $puan = 39$ ise yine "temel" yazdırır. Bu, "temel düzey" tanımını bu aralık için doğru bir şekilde uygular.

Bu analiz, A seçeneğinin test kriterlerini şu şekilde uyguladığını gösterir:

  • İleri düzey: $puan > 70$
  • Orta düzey: $40 < puan \le 70$
  • Temel düzey: $puan \le 40$

Bu yorum, sorudaki "40-70 arası" ve "40'ın altı" ifadelerinin kodun sıralı mantığına göre nasıl yorumlandığını açıklar ve A seçeneğini doğru kılar.

Adım 3: Diğer Seçenekleri Neden Yanlış Olduğunu İnceleyelim

  • Seçenek B: if puan >= 70: print("ileri") elif puan >= 40: print("orta") else: print("temel")
    • Eğer $puan = 70$ ise, ilk koşul ($puan >= 70$) doğru olur ve "ileri" yazdırır. Ancak soruda "puan 70'in üzerindeyse 'ileri düzey'" deniyor, yani 70 puanın kendisi "orta düzey" olmalıydı. Bu nedenle B yanlıştır.
  • Seçenek C: if puan > 70: print("ileri") elif puan >= 40: print("orta") else: print("temel")
    • Eğer $puan = 40$ ise, ilk koşul ($puan > 70$) yanlış olur. İkinci koşul ($puan >= 40$) doğru olur ve "orta" yazdırır. Ancak A seçeneğinin doğru olduğunu kabul ettiğimizde, $puan = 40$ "temel düzey" olmalıydı. Bu nedenle C yanlıştır.
  • Seçenek D: if puan > 70: print("ileri") if puan > 40: print("orta") else: print("temel")
    • Bu seçenekte iki ayrı if bloğu kullanılmıştır. Eğer $puan = 75$ gibi bir değer olursa, ilk if bloğu "ileri" yazdırır. Ardından, ikinci if bloğu da ($75 > 40$ olduğu için) "orta" yazdırır. Bir puan için iki farklı düzey çıktısı almak yanlış bir uygulamadır. Bu nedenle D yanlıştır.

Yukarıdaki detaylı incelemeler sonucunda, if-elif-else yapısının sıralı değerlendirme mantığı göz önüne alındığında, A seçeneği verilen kriterleri en doğru şekilde uygulamaktadır.

Cevap A seçeneğidir.

↩️ Soruya Dön
✨ Konuları Gir, Yapay Zeka Saniyeler İçinde Sınavını Üretsin!
1 2 3 4 5 6 7 8 9 10
Ana Konuya Dön:
Geri Dön