Arkadaşlar, Bu kodda şöyle bir hata veriyor sebebi nedir?
banka = Banka() # hata veriyor....
TypeError: __init__() missing 4 required positional arguments: 'bakiye', 'miktar', 'kart_no', and 'sifre'
Kod da şu:
import time
import datetime
class Banka:
def __init__(self,bakiye,miktar,kart_no,sifre) -> None:
self.bakiye = bakiye
self.miktar = miktar
self.kart_no = kart_no
self.sifre = sifre
def HesapAc(self,no,koy_şifre):
self.kart_no.append(no)
self.sifre.append(koy_şifre)
self.bakiye.append(0)
self.miktar.append(0)
print("Hesap açıldı")
def MevcutHesaplarıGöster(self):
print("Mevcut hesaplar: " + str(self.kart_no), end="")
print("Mevcut hesaplar: " + str(self.sifre), end="")
print("Mevcut hesaplar: " + str(self.bakiye), end="")
def şifre_koy(self,koy_şifre):
self.sifre.append(koy_şifre)
print("Şifre koyuldu")
def şifre_yenile(self,yenile_şifre):
self.sifre = yenile_şifre
print("Şifre yenilendi")
time.sleep(2)
print("Yenilenen şifre: " + str(self.sifre))
def şifre_kontrol(self):
print("Şifreniz:" + self.sifre)
def ParaYatır(self):
self.miktar = int(self.miktar)
self.bakiye += self.miktar
print("Yeni bakiye: " + str(self.bakiye))
def ParaCek(self):
self.miktar = int(self.miktar)
self.bakiye -= self.miktar
print("Yeni bakiye: " + str(self.bakiye))
def Bakiye_sorgula(self):
print("Bakiye: " + str(self.bakiye))
def KrediAl(self):
self.miktar = int(self.miktar)
self.bakiye += self.miktar
def KrediÖde(self,miktar):
krediAlmaTarihi = datetime.datetime(2021, 5, 17)
bugün = datetime.datetime.now()
if bugün - krediAlmaTarihi >= datetime.timedelta(years=1):
self.bakiye -= miktar * 1.1
print("Kredi ödendi")
def fatura_öde(self,elektrik,su):
self.bakiye -= elektrik
self.bakiye -= su
print("Fatura ödendi")
def HavaleYap(self):
self.miktar = int(self.miktar)
self.bakiye -= self.miktar
print("Havale yapıldı")
banka = Banka() # hata veriyor....
while True:
print("""
1. Hesap aç
2. Mevcut hesapları göster
3. Şifre koy
4. Şifre yenile
5. Şifre kontrol
6. Para yatır
7. Para çek
8. Bakiye sorgula
9. Kredi al
10. Kredi öde
11. Fatura öde
12. Havale yap
13. Çıkış
""")
işlem = input("İşlem seçiniz: ")
if işlem == "1":
no = input("Hesap numarası: ")
koy_şifre = input("Şifre: ")
banka.HesapAc(no,koy_şifre)
elif işlem == "2":
banka.MevcutHesaplarıGöster()
elif işlem == "3":
koy_şifre = input("Şifre: ")
banka.şifre_koy(koy_şifre)
elif işlem == "4":
yenile_şifre = input("Yeni şifre: ")
banka.şifre_yenile(yenile_şifre)
elif işlem == "5":
banka.şifre_kontrol()
elif işlem == "6":
miktar = input("Miktar: ")
banka.ParaYatır(miktar)
elif işlem == "7":
miktar = input("Miktar: ")
banka.ParaCek(miktar)
elif işlem == "8":
banka.Bakiye_sorgula()
elif işlem == "9":
miktar = input("Miktar: ")
banka.KrediAl(miktar)
elif işlem == "10":
miktar = input("Miktar: ")
banka.KrediÖde(miktar)
elif işlem == "11":
elektrik = input("Elektirik faturası: ")
su = input("Su faturası: ")
banka.fatura_öde(elektrik,su)
elif işlem == "12":
miktar = input("Miktar: ")
banka.HavaleYap(miktar)
elif işlem == "13":
print("Çıkış yapılıyor...")
break