Python Fonksiyonlar Değerlendirme Sınavı
Python Fonksiyonlar Değerlendirme Sınavı
Toplam Puan: 100
Süre: 60 Dakika
Bölüm 1: Kavramsal Sorular (Toplam 20 Puan)
Soru 1 (5 Puan): Python'da bir fonksiyon tanımlamak için kullanılan anahtar kelime nedir ve bir fonksiyonun en temel sözdizimi (syntax) nasıl olmalıdır? (Anahtar kelimeyi ve genel yapıyı bir satırda gösteriniz).
Soru 2 (5 Puan): Bir fonksiyonun gövdesindeki kodları, programın geri kalanından ayıran en önemli sözdizimi kuralı nedir? Bu kural neden önemlidir?
Soru 3 (5 Puan): Fonksiyon tanımındaki parametre ile fonksiyonu çağırırken kullanılan argüman arasındaki farkı kısaca açıklayınız.
Soru 4 (5 Puan): Tanımlanmış bir fonksiyon, program içinde hiç çağrılmazsa ne olur? Fonksiyonun içindeki kodların çalışması için ne yapmak gerekir?
Bölüm 2: Kod Analizi ve Çıktı Tahmini (Toplam 32 Puan)
Soru 5 (8 Puan): Aşağıdaki kod bloğunun çıktısı ne olur? Çıktıyı sırasıyla yazınız.
def personel_bilgisi(ad, departman="IT", yil=1):
print(f"Ad: {ad}, Departman: {departman}, Tecrübe: {yil} yıl")
personel_bilgisi("Elif")
personel_bilgisi("Kaan", yil=5)
personel_bilgisi(departman="İK", ad="Merve")
Soru 6 (8 Puan): Aşağıdaki kod neden SyntaxError
hatası verir? Hatayı açıklayınız ve kodun doğru halini yazınız.
def urun_ekle(ad, fiyat, stok_adedi):
print(f"Ürün: {ad}, Fiyat: {fiyat} TL, Stok: {stok_adedi}")
urun_ekle(fiyat=150, "Klavye", stok_adedi=50)
Soru 7 (8 Puan): Aşağıdaki kodun çıktısı ne olur?
def sayilari_carp(*sayilar):
if not sayilar:
return 1
sonuc = 1
for sayi in sayilar:
sonuc *= sayi
return sonuc
print(sayilari_carp(2, 3, 5))
print(sayilari_carp(10, 20))
Soru 8 (8 Puan): Aşağıdaki kodun çıktısı ne olur?
def arac_ozellikleri(**ozellikler):
print("--- Araç Bilgileri ---")
for anahtar, deger in ozellikler.items():
print(f"{anahtar.capitalize()}: {deger}")
arac_ozellikleri(marka="Tesla", model="Model Y", yil=2024, renk="Beyaz")
Bölüm 3: Pratik Kodlama Problemleri (Toplam 48 Puan)
Soru 9 (10 Puan): Bir dikdörtgenin alanını (uzun_kenar * kisa_kenar
) ve çevresini (2 * (uzun_kenar + kisa_kenar)
) hesaplayan iki ayrı fonksiyon yazınız.
dikdortgen_alani(uzun_kenar, kisa_kenar)
fonksiyonu, hesapladığı alanıreturn
ile döndürmelidir.dikdortgen_cevresi(uzun_kenar, kisa_kenar)
fonksiyonu, hesapladığı çevreyireturn
ile döndürmelidir.
Soru 10 (12 Puan): Bir ürünün KDV'li fiyatını hesaplayan bir fonksiyon yazınız.
Fonksiyonun adı
kdvli_fiyat_hesapla
olsun.Fonksiyon,
urun_fiyati
adında zorunlu bir parametre alsın.Ayrıca
kdv_orani
adında bir parametre daha alsın ve bu parametrenin varsayılan (default) değeri18
olsun.Fonksiyon, ürün fiyatına KDV'yi ekleyerek son fiyatı
return
ile döndürmelidir. (Formül:son_fiyat = fiyat * (1 + kdv / 100)
)Örnek Çağrı:
kdvli_fiyat_hesapla(1000)
çağrıldığında1180.0
dönmelidir.kdvli_fiyat_hesapla(1000, 8)
çağrıldığında1080.0
dönmelidir.
Soru 11 (12 Puan): Aldığı metinlerin (string) hepsini birleştirip tek bir metin olarak döndüren bir fonksiyon yazınız.
Fonksiyonun adı
metinleri_birlestir
olsun.Fonksiyon,
*args
kullanarak belirsiz sayıda metin argümanı alabilmelidir.Argümanlar arasına bir boşluk (
" "
) koyarak hepsini birleştirmeli ve sonucureturn
ile döndürmelidir.Örnek Çağrı:
metinleri_birlestir("Python", "öğrenmek", "çok", "keyifli")
çağrıldığında"Python öğrenmek çok keyifli"
stringini dönmelidir.
Soru 12 (14 Puan): Bir kullanıcı profili oluşturan ve bilgileri ekrana yazdıran bir fonksiyon yazınız.
Fonksiyonun adı
profil_olustur
olsun.Fonksiyon, ilk argüman olarak
kullanici_adi
'nı zorunlu olarak alsın.Daha sonra
**kwargs
kullanarak kullanıcının diğer bilgilerini (örneğinyas=30
,sehir="Ankara"
,meslek="Mühendis"
) alabilsin.Fonksiyon, aşağıdaki gibi bir çıktı üretmelidir (döndürme işlemi yoktur, sadece
print
kullanılacak):Kullanıcı Profili: <kullanici_adi> -------------------- Yas: 30 Sehir: Ankara Meslek: Mühendis
Not:
**kwargs
ile alınan her bilgiAnahtar: Değer
formatında yazdırılmalıdır.
Comments
Post a Comment