import sqlite3
import time
class Ürün():
def __init__(self,isim,marka,tür,fiyat):
self.isim=isim
self.marka=marka
self.tür=tür
self.fiyat=fiyat
def __str__(self):
return "Ürün İsmi: {}\nMarkası: {}\nTürü: {}\nFiyatı: {}\n".format(self.isim,self.marka,self.tür,self.fiyat)
class Depo():
def __init__(self):
self.baglanti_olustur()
def baglanti_olustur(self):
self.baglanti = sqlite3.connect("depo.db")
self.cursor =self.baglanti.cursor()
sorgu ="Create Table If not exists ürünler (isim TEXT,marka TEXT,tür TEXT,fiyat FLOAT)"
self.cursor.execute(sorgu)
self.baglanti.commit()
def baglanti_kes(self):
self.baglanti.close()
def ürünleri_göster(self):
sorgu= "Select * From ürünler"
self.cursor.execute(sorgu)
ürünler = self.cursor.fetchall()
if(len(ürünler)==0):
print("Depoda ürün bulunmamaktadır...")
else:
for i in ürünler:
ürün=Ürün(i[0],i[1],i[2],i[3])
print(ürün)
def ürün_sorgula(self):
sorgu = "Select * From ürünler where isim =?"
self.cursor.execute(sorgu,(isim,))
ürünler =self.cursor.fetchall()
if (len(ürünler)==0):
print("Böyle bir ürün yok...")
else:
ürün =Ürün(ürünler[0][0],ürünler[0][1],ürünler[0][2],ürünler[0][3])
print(ürün)
def ürün_ekle(self,ürün):
sorgu = "Insert into ürünler Values(?,?,?,?)"
self.cursor.execute(sorgu,(ürün.isim,ürün.marka,ürün.tür,ürün.fiyat))
self.baglanti.commit()
def ürün_sil(self,isim):
sorgu ="Delete From ürünler where isim =?"
self.cursor.execute(sorgu,(isim,))
self.baglanti.commit()
def fiyat_değis(self,isim):
sorgu ="Select * From ürünler where isim =?"
self.cursor.execute(sorgu,(isim,))
ürünler= self.cursor.fetchall()
if (len(ürünler)==0):
print("Böyle bir ürün bulunmuyor...")
else:
fiyat = ürünler[0][3]
yeni_fiyat = float(input("Yeni Fiyat Giriniz:"))
sorgu2="Update ürünler set fiyat=? where isim=?"
self.cursor.execute(sorgu2,(yeni_fiyat,isim))
self.baglanti.commit()
Bunun üzerinden altaki kodu çalıştırdığım zaman sorunsuz 2.işlem hariç hepsi sorunsuz şekilde çalışıyor
import time
from süper_market import *
print("""****************************
Depoya Programına Hoşgeldiniz.
İşlemler;
1.Ürünleri Göster
2.Ürün Göster
3.Ürün Ekle
4.Ürün Sil
5.Fiyat Değiştir
Çıkmak için 'q'ya basınız.
****************************""")
depo=Depo()
while True:
işlem=input("Yapacağınız İşlem:")
if (işlem=="q"):
print("Program Sonlandırılıyor...")
print("Yine Bekleriz...")
break
elif (işlem == "1"):
depo.ürünleri_göster()
elif (işlem=="2"):
isim = input("Hangi ürünü Görüntülemek İstiyorsunuz?")
print("Ürün Sorgulanıyor...")
time.sleep(2)
depo.ürün_sorgula(isim)
elif (işlem=="3"):
ürün = input("Ürün İsmi:")
marka= input("Ürün Markası:")
tür= input("Ürün Türü:")
fiyat=float(input("Ürün Fiyatı:"))
yeni_ürün = Ürün(ürün,marka,tür,fiyat)
print("Ürün depoya ekleniyor...")
time.sleep(2)
depo.ürün_ekle(yeni_ürün)
print("Ürün Eklendi...")
elif (işlem=="4"):
isim=input("Hangi ürünü silmek istiyorsunuz?")
print("Ürün siliniyor...")
time.sleep(2)
depo.ürün_sil(isim)
print("Ürün Silindi...")
elif (işlem=="5"):
isim=input("Hangi ürünün fiyatını değiştirmek istiyorsunuz?")
print("Fiyat değiştiriliyor...")
time.sleep(2)
depo.fiyat_değis(isim)
print("Fiyat değiştirildi.")
else:
print("Geçersiz İşlem...")
Bu komutu çalıştırdıgım zaman sadece 2. işlemde " takes 1 positional argument but 2 were given"
hatası alıyorum.Yardımcı olursanız sevinirim.