imoutofmaterial
Decapat
- Katılım
- 7 Ekim 2020
- Mesajlar
- 27
"girisYap()" fonksiyonunda 'name error' hatası veriyor. Sizce nedeni ne olabilir?
Python:
import time.
import sqlite3.
class Hesap:
def __init__(self, ad, sifre, para):
self.ad = ad
self.sifre = sifre
self.para = para
class Banka():
def __init__(self):
self.baglan()
def baglan(self):
self.con = sqlite3.connect("banka.db")
self.cursor = self.con.cursor()
sorgu = "CREATE TABLE IF NOT EXISTS veritabanı (İsim TEXT, Sifre INTEGER, Para INTEGER)"
self.cursor.execute(sorgu)
def cik(self):
self.con.close()
def kayitOl(self):
ad = input("Adınız:")
sifre = input("Şifreniz:")
para = 0
hesap = Hesap(ad, sifre, para)
print("İşlem yapılıyor...")
time.sleep(.500)
sorgu = "insert into veritabanı Values(?, ?, ?)"
self.cursor.execute(sorgu, (hesap.ad, hesap.sifre, hesap.para, ))
self.con.commit()
print("İşleminiz başarı ile gerçekleştirildi!")
def paraYatir(self):
self.yeniPara = input("Ne kadar para yatırmak istersiniz?")
print("İşleminiz yapılıyor...")
time.sleep(.500)
self.yeniPara += hesap.para
sorgu = "Update veritabanı set Para = ?"
self.cursor.execute(sorgu, (self.yeniPara, ))
self.con.commit()
print("İşleminiz başarı ile gerçekleştirildi!")
def paraCek(self):
self.yeniPara = input("Ne kadar para çekmek istersiniz?")
print("İşleminiz yapılıyor...")
time.sleep(.500)
if self.yeniPara > hesap.para:
print("Bu kadar büyük miktarda krediyi çekecek paranız bulunmamaktadır!")
else:
self.yeniPara -= hesap.para
sorgu = "Update veritabanı set Para = ?"
self.cursor.execute(sorgu, (self.yeniPara, ))
self.con.commit()
print("İşleminiz başarı ile gerçekleştirildi")
def bilgileriGor(self):
sorgu = "Select * from veritabanı where İsim = ?"
self.cursor.execute(sorgu, (hesap.ad, ))
def hesapSil(self):
print("Bu işlemi gerçekleştirmek istediğinizden emin misiniz? (E/H)")
cevap = input()
if cevap == "E":
self.oluSifre = input("Lütfen şifrenizi giriniz:")
sorgu = "Delete from veritabanı where Şifre = ?"
self.cursor.execute(sorgu, (self.oluSifre, ))
self.con.commit()
elif cevap == "H":
print("İşlem gerçekleştirilmedi...")
else:
print("Böyle bir cevap bulunmamaktadır!")
def girisYap(self):
while True:
cevap = input("Kayıt oldunuz mu? (E/H):")
if cevap == "E":
self.ad = input("Adınızı giriniz:")
self.sifre = input("Şifrenizi giriniz:")
if self.ad == hesap.ad and self.sifre == hesap.sifre:
print("Başarı ile giriş yaptınız!")
break
else:
print("Giriş yapamadnız! Lütfen tekrar deneyiniz")
continue
elif cevap == "H":
banka.kayitOl()
break
banka = Banka()
print("İşlemBanka'ya Hoş Geldiniz!\n----------------------------")
banka.girisYap()
banka.baglan()
print("""Yapabileceğiniz işlemler:
----------------------------------------------------------------
1: Para yatır
2: Para çek
3: Bakiyeyi gör
4: Hesap sil
q: Çık
-----------------------------------------------------------------
""")
while True:
cevap = input(">>>")
if cevap == "1":
banka.paraYatir()
elif cevap == "2":
banka.paraCek()
elif cevap == "3":
banka.bilgileriGor()
elif cevap == "4":
banka.hesapSil()
elif cevap == "q":
print("Yine bekleriz :)")
banka.cik()[CODE=Python]
break
Son düzenleme: