Çözüldü Python "Attributeerror: 'int' object has no attribute " yolcu hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Kamikaze21

Hectopat
Katılım
15 Ocak 2022
Mesajlar
25
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
1730294967291.png


Hocam bir türlü yapamadım.
 
Çözüm
Sağ olun hocam oldu.

Kod:
class Ucus():
 havayolu = "THY"

 def init(self, kod, kalkis, varis, sure, kapasite, yolcu):
 self.kod = kod.
 self.kalkis = kalkis.
 self.varis = varis.
 self.sure = sure.
 self.kapasite = kapasite.
 self.yolcu = yolcu.

 def anons_yap(self):
 return "{} sefer sayılı, {}--{} uçuşumuz {} dakika sürecektir.".format(
 self.kod, self.kalkis, self.varis, self.sure)

 def koltuk_sayisi_güncelle(self):
 return self.kapasite - self.yolcu

 def bilet_satisi(self, bilet_adedi=1):
 self.yolcu += bilet_adedi.
 self.koltuk_sayisi_güncelle
 print("{} adet bilet satilmiştir, {} kalan bilet sayisi".format(
 bilet_adedi,
 self.koltuk_sayisi_güncelle()))

Böyle yapınca düzeldi.
Ucus.bilet_satis diye kullanmaman gerek. Oluşturduğun değişkenin adı Ucus3, Ucus sınıf. Ucus3.bilet_satis demen gerekiyor.

Bir nesne olmadan fonksiyonu çağırdığından self'i otomatik olarak almak yerine, ilk parametreyi self olarak kabul ediyor. Ucus.bilet_satis diyeceksen Ucus.bilet_satis(Ucus3, 2) demelisin.
 
Kod:
class Ucus():
 havayolu = "THY"
 def init(self, kod, kalkis, varis, sure, kapasite, yolcu):
 self.kod = kod.
 self.kalkis = kalkis.
 self.varis = varis.
 self.sure = sure.
 self.kapasite = kapasite.
 self.yolcu = int(yolcu)

 def anaons_yap(self):
 return "{} sefer sayılı {}--{} uçuşumuz {} dakika sürecektir.".format(
 self.kod, self.kalkis, self.varis, self.sure)

 def koltuk_sayisi_güncelleme(self):
 return self.kapasite - self.yolcu

 def bilet_satis(self, bilet_adeti=1):
 self.yolcu += bilet_adeti.
 kalan_koltuk = self.koltuk_sayisi_guncelleme()
 print("{} adet bilet satilmiştir, {} kalan koltuk sayisi",format(bilet_adeti, koltuk_sayisi_güncelleme()))

Ucus3 = Ucus("TK120", "ANK", "İST", 5, 100, 70)

Ucus.bilet_satis(2)

Hocam int yaptım ama hata alıyorum hala.
 
Son düzenleyen: Moderatör:
def bilet satışının içindeki 2. satıra bakar mısın;
kalan_koltuk = self.koltuk_sayisi_guncelle() değil
kalan_koltuk = koltuk_sayisi_guncelle(self) diye olmalı, Python bilmiyorum syntaxından bihaberim, yanlışsa kusura bakmayın :D
 
Sağ olun hocam oldu.

Kod:
class Ucus():
 havayolu = "THY"

 def init(self, kod, kalkis, varis, sure, kapasite, yolcu):
 self.kod = kod.
 self.kalkis = kalkis.
 self.varis = varis.
 self.sure = sure.
 self.kapasite = kapasite.
 self.yolcu = yolcu.

 def anons_yap(self):
 return "{} sefer sayılı, {}--{} uçuşumuz {} dakika sürecektir.".format(
 self.kod, self.kalkis, self.varis, self.sure)

 def koltuk_sayisi_güncelle(self):
 return self.kapasite - self.yolcu

 def bilet_satisi(self, bilet_adedi=1):
 self.yolcu += bilet_adedi.
 self.koltuk_sayisi_güncelle
 print("{} adet bilet satilmiştir, {} kalan bilet sayisi".format(
 bilet_adedi,
 self.koltuk_sayisi_güncelle()))

Böyle yapınca düzeldi.
 
Çözüm

Technopat Haberler

Yeni konular

Geri
Yukarı