Final 2024-2025 19 soru

Python Programlama 2024-2025 Final

Kaynak: https://lolonolo.com/2025/11/15/python-programlama-2024-2025-final-sorulari-guz/

📖 Konu özeti (sınav öncesi tekrar)

Python Programlama 2024-2025 Final Soruları (Güz)

Giriş

Python, veri bilimi, bilimsel hesaplamalar, yazılım geliştirme ve oyun geliştirme gibi çok çeşitli alanlarda kullanılan çok yönlü bir programlama dilidir. Kolay sözdizimi ve geniş kütüphane desteği sayesinde popülerlik kazanmıştır. Python’da temel karar alma yapıları (örn: “Eğer hafta sonu hava güzelse, pikniğe giderim”) “koşul ifadeleri” (if/elif/else) ile temsil edilir. Bu makalede, Python’un temel veri yapıları, fonksiyonları ve nesneye yönelik programlama özellikleri incelenecektir.

Temel Veri Türleri ve Fonksiyonlar

Python’da veriler farklı tiplerde saklanır. Veri tipi dönüşümleri yaygın olarak kullanılır; örneğin `int(2.5)` (sonuç 2) veya `float(30)` (sonuç 30.0) geçerli dönüşümlerdir. Ancak, sayısal bir anlamı olmayan “Elif” gibi bir metni `float(“Elif”)` komutuyla sayıya dönüştürmeye çalışmak hata mesajı döndürür. Python’da `print()`, `max()` ve `type()` gibi birçok hazır (built-in) fonksiyon bulunur; `getwd()` ise bu hazır fonksiyonlardan biri değildir (genellikle R dilinde kullanılır).

Koşul İfadeleri ve Döngüler

Program akışını kontrol etmek için koşul ifadeleri ve döngüler kullanılır.

Veri Yapıları: Listeler, Kümeler ve NumPy Dizileri

Python, verileri toplu halde saklamak için çeşitli yapılar sunar.

Pandas Kütüphanesi

Pandas, veri analizi için kullanılan temel bir kütüphanedir. Verileri DataFrame adı verilen tablo benzeri yapılarda tutar. Bir DataFrame’den (df) “Sehir” adında bir sütunu kaldırmak için `df.drop(“Sehir”, axis = 1)` komutu kullanılır (`axis=1` sütun olduğunu belirtir).

Nesneye Yönelik Programlama (OOP)

Python, nesneye yönelik programlamayı tam olarak destekler. Bir `Futbolcu` sınıfı `__init__` (yapıcı) metoduyla `(no, ad, soyad, yas, pozisyon)` parametrelerini bekliyorsa, `oyuncum = Futbolcu(7, “Süleyman”, “Seba”, 25, “Sağ Açık”)` şeklinde doğru bir örnek oluşturulabilir.

OOP’nin temel ilkelerinden biri Kapsülleme (Encapsulation)‘dir. Bir `BankaHesap` sınıfı içinde `__bakiye` olarak tanımlanan bir değişken (çift alt çizgi ile), dışarıdan doğrudan erişime gizlenmiş olur. Bu gizlenen “bakiye” değişkenine, `bakiye_goster()` gibi sınıf içi metotlarla erişilir.

Bir `Bilgisayar` sınıfında `marka = “ABC”` şeklinde bir sınıf değişkeni tanımlanmışsa, `bilg` nesnesi üzerinden `bilg.marka` ile bu değere erişilebilir; ancak `bilg.ABC` şeklinde bir erişim hata döndürür.

Python Programlama 2024-2025 Final Soruları (Güz)

19 soru
Şıkka dokun, anında açıklamasını gör — ya da çalışma modunda tüm cevapları aç.
Soru 1
I. Veri bilimi çalışmaları.
II. Matematik ve istatistik başta olmak üzere çeşitli bilimsel hesaplamalar.
III. Yazılım geliştirme.
IV. Oyun geliştirme.
Yukarıda belirtilen alanların hangisi ya da hangilerinde Python programlama dili kullanılmaktadır?
EDoğru cevap
Açıklama
Python, çok yönlü (general-purpose) bir programlama dilidir. Veri bilimi ( Pandas, NumPy), bilimsel hesaplamalar ( SciPy), yazılım geliştirme (Web, masaüstü uygulamaları) ve oyun geliştirme ( Pygame) gibi belirtilen tüm alanlarda yaygın olarak kullanılmaktadır.
Soru 2
Aşağıda verilen seçeneklerin hangisinde yapılan veri tipi dönüşümü hata mesajı döndürür?
EDoğru cevap
Açıklama
float()
fonksiyonu, kayan noktalı sayıya dönüştürülmek istenen ifadenin sayısal bir değeri temsil etmesini bekler.”Elif”gibi sayısal bir anlamı olmayan bir metin ifadesi dönüştürülmeye çalışıldığında Python ValueError hatası döndürür.
Soru 3

 class Futbolcu:
def __init__(self, no, ad, soyad, yas
, pozisyon):
self.no = no
self.ad = ad
self.soyad = soyad self.yas = yas self.pozisyon = pozisyon
def pasVer(self, pasAtilan): print(pasAtilan, " numaralı oyunc
uya pas atılıyor!!!")

Aşağıdaki seçeneklerin hangisinde yukarıda verilen “Futbolcu” sınıfının bir örneği doğru biçimde oluşturulmuştur?
ADoğru cevap
Açıklama
__init__ metodu sırasıyla 5 parametre bekler. A şıkkında bu parametreler doğru sırada ve tipte verilmiştir.
Soru 4
Aşağıdaki seçeneklerin hangisinde verilen lambda fonksiyonu doğru bir biçimde tanımlanmıştır?
ADoğru cevap
Açıklama
Python’da koşullu bir lambda
ifadesi, ternary operator olarak bilinen [if_true] if [condition] else [if_false] yapısını kullanır. Bu formata uyan tek şık, A şıkkıdır.
Soru 5
5

def indirim_hesapla(tutar): if tutar < 100:
indirim = 0
else:indirim = 0.1
odeme = tutar * (1 - indirim) return odeme

Yukarıda bir mağazanın indirim hesaplamak için kullandığı Python fonksiyonu yer almaktadır. indirim_hesapla(900) fonksiyonuna göre 900TL’lik alış-veriş yapan bir müşterinin ödeme miktarı aşağıdaki seçeneklerin hangisinde verilmiştir?
DDoğru cevap
Açıklama
tutar(900) > 100 olduğu için indirim = 0.1 olur. Ödeme: 900 * (1 - 0.1) = 900 * 0.9 = 810
Soru 6
Python’da tek satırlık bir yorum eklemek için aşağıdaki karakterlerden hangisi kullanılır?
ADoğru cevap
Açıklama
Python’da tek satırlık yorum eklemek için # (diyez işareti) karakteri kullanılır.
Soru 7

deger = float(input("Bir sayı girin: ")) 
if deger > 0:
print("Pozitif.") 
... deger < 0:
print("Negatif.") 
else:
print("Sıfır.")

Yukarıdaki Python kodunda … ile verilen boşluğun aşağıdaki seçeneklerin hangisi ile tamamlanması uygun olur?
DDoğru cevap
Açıklama
Birden fazla koşulun birbirini takip ettiği durumlarda, ikinci koşul için
if yerine ** elif ** (else if) ifadesi kullanılır.
Soru 8
import numpy as np 
a = np.array([[7, 8, 3, 7, 31],
 [3, 2, 5, 2, 91]])

Yukarıda tanımlanan a adlı NumPy dizisi için a.size kodu çalıştırılırsa aşağıdakilerden hangisi elde edilir?
BDoğru cevap
Açıklama
NumPy dizilerinde.size özniteliği, dizideki toplam eleman sayısını döndürür. Verilen dizide 2 satır ve 5 sütun (2×5=10) olduğu için sonuç 10’dur.
Soru 9
l1 = [1, 5, 15, 5] 
l1.remove (5)

Yukarıda verilen kod satırı çalıştırıldığında l1’in son durumu hangi seçenekte doğru biçimde verilmiştir?
DDoğru cevap
Açıklama
remove()
metodu, listede rastladığı ilk değeri siler.l1.remove(5) komutu ilk 5 değerini sileceği için listenin son durumu [1, 15, 5]olacaktır.
Soru 10

 class BankaHesap:
def __init__(self, bakiye):
self.__bakiye = bakiye
def bakiye_goster(self): return self.__bakiye
def paraEkle(self, mktr): if mktr > 0:
self.__bakiye += mktr hesabim = BankaHesap(2000)

Yukarıda verilen Python kodlarına göre kapsülleme (encapsulation) kullanılarak gizlenen değişken aşağıdakilerden hangisidir?
ADoğru cevap
Açıklama
Kapsülleme (encapsulation), bir sınıf içindeki verilerin (değişkenlerin) dışarıdan doğrudan erişimini kısıtlayarak, verilere yalnızca tanımlanmış metotlar aracılığıyla erişilmesini sağlama prensibidir. Bu örnekte self.bakiye değişkeni sınıfın temel verisidir ve doğrudan erişimden korunarak metotlar ( bakiye_goster, paraEkle) aracılığıyla yönetilir.
Soru 12
Python soru 12
a = "KELEBEK" 
a=0 
for j in range(0,len(A)): 
.............;
print(A[j], end=" ") 
a += 1 
print("\r")

Yukarıdaki ekran görüntüsünün elde edilebilmesi için aşağıda … ile verilen boşluğa aşağıdaki seçeneklerden hangisi getirilmelidir?
CDoğru cevap
Soru 13
k1 = {1, 0, 8, 9, 99} 
k2 = {7, 8, 11, 9}

Yukarıdaki Python kodları yardımı ile iki küme tanımlanıyor.
Bu durumda {0, 1, 7, 8, 9, 11, 99} elde edilmesi için aşağıdaki kod satırlarından hangisi çalıştırılmalıdır?
BDoğru cevap
Açıklama
Verilen çıktı, k1 ve k2 kümelerinin birleşimini (union)
ifade eder. Python’da küme birleşimi ** | ** operatörü ile yapılır.
Soru 14

 sayilar = [145, 728, 8, 40, 27, 60, 110, 59]
esik = 60
for say in sayilar: if say >= esik:
print("+") else:print("-")

Yukarıdaki Python kodları çalıştırıldığında ekrana kaç adet + yazdırılır?
BDoğru cevap
Açıklama
say değişkeni 60’a eşit veya büyük olduğunda + yazdırılır. Listede bu koşulu sağlayan sayılar: 145, 728, 60 ve 110’dur. Toplam 4 adettir.
Soru 15
Aşağıda verilen seçeneklerin hangisinde z değişkeninin veri tipi tam sayıdır?
BDoğru cevap
Açıklama
// operatörü, tam sayı bölmesi (integer division) yapar ve sonucu ondalık kısım olmadan bir tam sayı ( int ) olarak döndürür. Diğer şıkların tamamı ondalık ( float ) veri tipi döndürür.
Soru 16

 import pandas as pd df = {
"Ad": ["Elif", "Ayşe"],
"Sehir": ["İstanbul", "Ankara"], "Meslek": ["Akademisyen", 'Doktor']
}df = pd.DataFrame(df)

Yukarıdaki DataFrame’den Sehir sütununu kaldırmak için aşağıdaki seçeneklerden hangisi kullanılabilir?
EDoğru cevap
Açıklama
Pandas DataFrame’den sütun aldırmak için drop() metodu kullanılır ve sütun eksenini elirtmek için  axis=1 parametresi ayarlanmalıdır.
Soru 17

 E = [1, 3, 5, 7]
say = 0
top = 0
while say<len(E):
if say == 2: say += 1
...
top = top + E[say] say += 1

Yukarıda verilen Python kodları ile 5 dışında kalan tüm elemanların toplamı elde edilmek isteniyor. Buna göre ile belirtilen boşluğa aşağıdaki seçeneklerden hangisi getirilmelidir?
EDoğru cevap
Açıklama
for/ while döngüsü içinde, bir koşul sağlandığında o anki iterasyonun geri kalanını atlayıp bir sonraki elemana geçmek için ** continue ** komutu kullanılır. Bu, 5’in (indeks 2’deki eleman) toplama işlemine dahil edilmemesini sağlar.
Soru 18
Python’da NumPy kütüphanesini çağırmak için aşağıdaki seçeneklerden hangisi kullanılabilir?
CDoğru cevap
Açıklama
Python’da harici kütüphaneleri programa dahil etmek için **
import  ifadesi kullanılır.  as np ** ise kütüphaneyi kısaltma ile çağırmaya yarar.
Soru 19

 class Bilgisayar: marka = "ABC" model = "EFG"
def __init__(self, islemci, sabitDisk
):
self.islemci = islemci
self.sabitDisk = sabitDisk
bilg = Bilgisayar("Intel i7", "120GB SSD" )

Yukarıda verilen “Bilgisayar” sınıfına göre aşağıdaki seçeneklerin hangisi hata döndürür?
CDoğru cevap
Açıklama
ABC , sınıf içinde tanımlı bir değişken değildir. marka değişkeninin değeri “ABC”dir, ancak bu değere erişmek için bilg.marka kullanılmalıdır. Bu nedenle bilg.ABC erişimi AttributeError hatası döndürür.
Soru 20
Eğer hafta sonu hava güzelse, pikniğe giderim.
Yukarıdaki örnek cümledekine benzer bir karar alma durumu Python programlamada aşağıdaki yapılardan hangisi ile temsil edilebilir?
CDoğru cevap
Açıklama
Bir şarta bağlı karar alma durumları (Eğer [koşul] ise, [eylem] yap) Python’da if/elif/else gibi koşul ifadeleri ile temsil edilir.