Son teslim tarihine 2 gün kalan python ödevi için yardımınıza ihtiyacım var. Ödev normalde 4 parça halinde ama hepsini de atmak olmaz. Şimdiden teşekkür ediyorum.
Ö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.
print() komutuna öğrenci sınıfına ait bir obje girildiğinde ekrana öğrencinin adı ve soyadı yazılmalı. 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.
“Ders_Bilgisi” isimli bir metot oluşturunuz. Bu metot çalıştığında ekranda derse ait bilgileri göstermeli. Eğer kullanıcı daha önce bir öğrenciye ait bilgi girmemişse “Derse kayıtlı öğrenci bulunmuyor” yazısı ekranda görünmeli. Ö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.