Python ödev yardımı__

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.
o 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.
o 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.
o 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
o Kullanıcıdan giriş parametresi olarak bir ders ismi almalı.
o “Öğ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.

Bu kodları bir inceleyin

class Öğrenci():
	def __init__(self,isim,numara,notu):
		if type(isim) != str:
			print("İsim Yazı olmalı")
		elif type(numara) != int:
			print("Numara sayı olmalı")
		elif type(notu) != int:
			print("Notu sayı olmalı")
		else:
			print("Başarılı")
			self.isim = isim
			self.numara = numara
			self.notu = notu
class Ders(Öğrenci):
	def __init__(self,isim,numara,notu,dersismi):
		super().__init__(isim,numara,notu)
		self.dersismi = dersismi
		
	def bilgiler(self):
		bilgi = open("Öğrenciler.txt","r")
		print(bilgi.readline())
	def ekle(self):
		öğrenciler = open("Öğrenciler.txt","a")
		
		öğrenciler.write("İsim:{},Numara:{},Notu:{},Ders:{}\n".format(self.isim,self.numara,self.notu,self.dersismi))
		
ruby = Ders(isim="python",numara=10,notu=10,dersismi="yazılım")
ruby.bilgiler()
ruby.ekle()

cpp = Ders(isim="worm",numara=200,notu=20,dersismi="web")
cpp.bilgiler()
cpp.ekle()

Hatayı paylaşırmısınız.

class Öğrenci():
def init(self,isim,numara,notu):
if type(isim) != str:
print(“İsim Yazı olmalı”)
elif type(numara) != int:
print(“Numara sayı olmalı”)
elif type(notu) != int:
print(“Notu sayı olmalı”)
else:
print(“Başarılı”)
self.isim = isim
self.numara = numara
self.notu = notu
class Ders(Öğrenci):
def init(self,isim,numara,notu,dersismi):
super().init(isim,numara,notu)
self.dersismi = dersismi

def bilgiler(self):
	bilgi = open("Öğrenciler.txt","r")
	print(bilgi.readline())
def ekle(self):
	öğrenciler = open("Öğrenciler.txt","a")
	
	öğrenciler.write("İsim:{},Numara:{},Notu:{},Ders:{}\n".format(self.isim,self.numara,self.notu,self.dersismi))

ruby = Ders(isim=“python”,numara=10,notu=10,dersismi=“yazılım”)
ruby.bilgiler()
ruby.ekle()

cpp = Ders(isim=“worm”,numara=200,notu=20,dersismi=“web”)
cpp.bilgiler()
cpp.ekle()

Bu kısmın verdiği hatayı paylaşırmısınız demek istemiştim.

Arkadaşlar kodları ve aldığınız hata çıktılarını incelerseniz, neden hata aldığınızı anlamamanız mümkün değil gibi geliyor bana.

1 Beğeni

Benim hatam kusura bakmayın
ruby.ekle() ruby.bilgiler() fonksiyonundan önce kullanılmak zorunda çünkü okuması için bir dosya gerekiyor

1 Beğeni

Pisi linux yüzünden biraz dalgınım tekrar özür dilerim

1 Beğeni