
Ödev İçeriği :
- 40 puan) a) “Öğrenci” isimli bir sınıf oluşturunuz. Bu sınıfın özellikleri olacak şekilde “ad_soyad”, “numara” ve “notu” olmak üzere 3 tane parametreyi giriş olarak alsın. Bu parametreleri ad_soyad, numara ve notu değişkenlerine atayınız.
- Hata fırlatma özelliğini kullanarak eğer ad_soyad string olarak girilmemişse ValueError hatası vererek “Ad-Soyad için bir string girmelisiniz” yazısı ile programdan çıkılsın.
- Hata fırlatma özelliğini kullanarak eğer numara tam sayı olarak girilmemişse ValueError hatası vererek “Numara için bir tam sayı girmelisiniz” yazısı ile programdan çıkılsın.
- Hata fırlatma özelliğini kullanarak eğer notu tam sayı olarak girilmemişse ValueError hatası vererek “Notu için bir tam sayı girmelisiniz” yazısı ile programdan çıkılsın.
b) “Ders” isimli başka bir sınıf oluşturunuz
- Kullanıcıdan giriş parametresi olarak bir ders ismi almalı.
- “Öğrenci_ekle” isimli bir metot içermeli. Bu metot kullanıcıdan öğrenci sınıfına ait bir obje almalıdır. Bir sözlük oluşturularak, sözlüğün “Ad_Soyad” anahtarına öğrenci objesinin adı, “Numara” anahtarına öğrenci objesinin numarası, “Not” anahtarına da öğrenci objesinin notu, bu anahtarların liste tipindeki değerleri olarak metot her çağırıldığında listeye eklenmeli.
Örnek Çıktı:


a bölümünün kodlarını burdan bir arkadaş sayesinde çözdüm tekrardan kendisine teşekkür ediyorum. Kodları şu şekilde:
class Öğrenci():
def __init__(self, ad_soyad, numara, notu):
if type(ad_soyad) is not str:
raise ValueError('Ad-Soyad için bir string girmelisiniz')
else:
self.ad_soyad = ad_soyad
if type(numara) is not int:
raise ValueError('Numara için bir tam sayı girmelisiniz')
else:
self.numara = numara
if type(notu) is not int:
raise ValueError('Notu için bir tam sayı girmelisiniz')
else:
self.notu = notu
öğrenci_1 = Öğrenci('Diego Maradona', 123, 25)
print(öğrenci_1.ad_soyad, öğrenci_1.numara, öğrenci_1.notu)Sadece b bölümü için yardıma ihtiyacım var. Yardımcı olan herkese şimdiden teşekkürler.