Python'da veri tabanı oluşturmak ve kullanmakla ilgili bir kod yazmaya çalışıyorum lakin bazı hatalar alıyorum. Kod ve hata çıktısı ektedir. Yardım için şimdiden teşekkürler.
Not: L*tfen yazmak yasakmış, ne alakaysa?
Python:
import sqlite3.
import time.
class Urun():
def __init__(self,isim,adet,tur,fiyat):
self.isim=isim
self.adet=adet
self.tur=tur
self.fiyat=fiyat
def __str__(self):
return "Hayvan İsmi:{}\nAdet:{}\nHayvanın Türü:{}\nFiyat:{} Dolar".format(self.isim,self.adet,self.tur,self.fiyat)
class Hayvan_pazarı():
def __init__(self):
self.baglanti_olustur()
def baglanti_olustur(self):
self.baglanti=sqlite3.connect("stok.db")
self.cursor=self.baglanti.cursor()
komut="CREATE TABLE IF NOT EXISTS stok(İsim TEXT, Adet INT, Tür TEXT, Fiyat INT"
self.cursor.execute(komut)
self.baglanti.commit()
def baglanti_kes(self):
self.baglanti.close()
def urunleri_goster(self):
komut="Select * From stok"
self.cursor.execute(komut)
urunler=self.cursor.fetchall()
if (len(urunler)==0):
print("Hayvan pazarında ürün kalmamıştır.")
else:
for i in urunler:
urun=Urun(i[0],i[1],i[2],i[3])
print(urun)
def urun_ekle(self,isim):
komut="Insert Into stok values(?,?,?,?)"
self.cursor.execute(komut,(isim.isim,isim.adet,isim.tur,isim.fiyat))
self.baglanti.commit()
def urun_sil(self,isim):
komut="Delete from stok where İsim=?"
self.cursor.execute(komut,(isim,))
self.baglanti.commit()
def adet_azalt(self,isim,adet):
komut="Select Adet from stok where İsim=?"
self.cursor.execute(komut,(isim,))
urun_adet=self.cursor.fetchall
for i in urun_adet:
for j in i:
if j<=0:
print("Girdiğiniz ürünün stoğu tükenmiştir.")
else:
yeni_adet=j-miktar
komut2="Update stok set Adet=? where İsim=?"
self.cursor.execute(komut2,(yeni_adet,urun))
self.baglanti.commit()
def adet_artir(self,isim,adet):
komut="Select Adet from stok where İsim=?"
self.cursor.execute(komut,(isim,))
urun_adet=self.cursor.fetchall()
for i in urun_adet:
for j in i:
yeni_adet=j+miktar
komut2="Update stok set Adet=? where İsim=?"
self.cursor.execute(komut2,(yeni_adet,isim))
self.baglanti.commit()
hayvan_pazarı=Hayvan_pazarı()
print("""
-----------------------
Hayvan Pazarı Uygulaması.
-----------------------
1- Ürünleri gör.
2- Hayvan ekle.
3- Hayvan sil.
4- Stok azalt.
5- Stok artır.
q- Exit.
-----------------------
""")
while True:
islem=input("Ltfen yapmak istediğiniz işlemi giriniz:")
if (islem=="q"):
print("Program sonlandırılıyor...")
hayvan_pazarı.baglanti_kes()
break.
elif (islem=="1"):
hayvan_pazarı.urunleri_goster()
elif (islem=="2"):
isim = input("Ltfen eklemek istediğiniz hayvanın adını giriniz:")
adet = input("Ltfen eklemek istediğiniz hayvan adedini giriniz:")
tur = input("Ltfen eklemek istediğiniz hayvanın türünü giriniz:")
fiyat = input("Ltfen eklemek istediğiniz hayvanın fiyatını giriniz:")
yeni_urun=Urun(isim,adet,tur,fiyat)
print("Hayvan stoğa ekleniyor...")
time.sleep(2)
hayvan_pazarı.urun_ekle(yeni_urun)
print("Hayvan stoğa eklendi.")
elif (islem=="3"):
isim = input("Ltfen silmek istediğiniz hayvanın adını giriniz:")
cevap = input("Emin misiniz? (E/H): ")
if (cevap == "E"):
print("Hayvan stoktan siliniyor...")
time.sleep(2)
hayvan_pazarı.urun_sil(isim)
print("Hayvan stoktan silindi.")
elif (islem=="4"):
isim = input("Ltfen stoğunu azaltmak istediğiniz hayvanın adını giriniz:")
adet=int(input("Ltfen azaltmak istediğiniz miktarı giriniz:"))
print("Hayvan stoğu güncelleniyor...")
time.sleep(2)
hayvan_pazarı.adet_azalt(isim,adet)
print("Hayvan stoğu güncellendi.")
elif (islem=="5"):
isim = input("Ltfen stoğunu artırmak istediğiniz hayvanın adını giriniz:")
adet = int(input("Ltfen artırmak istediğiniz miktarı giriniz:"))
print("Hayvan stoğu güncelleniyor...")
time.sleep(2)
hayvan_pazarı.adet_artir(isim, adet)
print("Hayvan stoğu güncellendi.")
else:
print("Geçersiz işlem!")
Not: L*tfen yazmak yasakmış, ne alakaysa?
Dosya Ekleri
Son düzenleme: