Örnek çözümler en aşağıda verilmiştir.
1 - Bir kütüphane projesi yapın. kitaplar isminde bir veritabanınız olsun ve tablonuzda isim, yazar, yayınevi, tür ve baskı gibi bilgiler yer alsın. Hazırladığınız programda kitapları gösterebilin, kitap sorgulayabilin, kitap ekleyip silebilin, baskı yükseltebilin.
2 - Bir şarkı kütüphanesi projesi yapın. sarkilar isminde bir veritabanınız olsun ve tablonuzda isim, sanatci, album, sirket ve sure gibi bilgiler yer alsın. Hazırladığınız programda şarkıları gösterebilin, ekleyip silebilin, kütüphanenizde bulunan şarkıların toplam süresini gösterebilin.
1 kutuphane.py -
import sqlite3
import time
class Kitap():
def __init__(self,isim,yazar,yayinevi,tur,baski):
self.isim = isim
self.yazar = yazar
self.yayinevi = yayinevi
self.tur = tur
self.baski = baski
def __str__(self):
return "Kitap İsmi : {}\nYazar : {}\nYayınevi : {}\nTür : {}\nBaskı : {}\n".format(self.isim,self.yazar,self.yayinevi,self.tur,self.baski)
class Kutuphane():
def __init__(self):
self.baglanti_olustur()
def baglanti_olustur(self):
self.baglanti = sqlite3.connect("Kütüphane.db")
self.cursor = self.baglanti.cursor()
sorgu = "CREATE TABLE IF NOT EXISTS kitaplar (isim TEXT,yazar TEXT,yayınevi TEXT,Tür TEXT,baski INT)"
self.cursor.execute(sorgu)
self.baglanti.commit()
def baglantiyi_kes(self):
self.baglanti.close()
def kitaplari_goster(self):
sorgu = "SELECT * FROM kitaplar"
self.cursor.execute(sorgu)
kitaplar = self.cursor.fetchall()
if len(kitaplar) == 0:
print("Kütüphanede Kitap Bulunmuyor")
else:
for x in kitaplar:
kitap = Kitap(x[0],x[1],x[2],x[3],x[4])
print(kitap)
def kitap_sorgula(self,isim):
sorgu = "SELECT * FROM kitaplar WHERE isim = ?"
self.cursor.execute(sorgu,(isim,))
kitaplar = self.cursor.fetchall()
if len(kitaplar) == 0:
print("Böyle Bir Kitap Bulunmuyor")
else:
kitap = Kitap(kitaplar[0][0],kitaplar[0][1],kitaplar[0][2],kitaplar[0][3],kitaplar[0][4])
print(kitap)
def kitap_ekle(self,kitap):
sorgu = "INSERT INTO kitaplar VALUES (?,?,?,?,?)"
self.cursor.execute(sorgu,(kitap.isim,kitap.yazar,kitap.yayinevi,kitap.tur,kitap.baski))
self.baglanti.commit()
def kitap_sil(self,isim):
sorgu = "DELETE FROM kitaplar WHERE isim = ?"
self.cursor.execute(sorgu,(isim,))
self.baglanti.commit()
def baski_yukselt(self,isim):
sorgu = "SELECT * FROM kitaplar WHERE isim = ?"
self.cursor.execute(sorgu,(isim,))
kitaplar = self.cursor.fetchall()
if len(kitaplar) == 0:
print("Böyle Bir Kitap Bulunmuyor")
else:
baski = kitaplar[0][4]
baski += 1
sorgu2 = "UPDATE kitaplar SET baski = ? WHERE isim = ?"
self.cursor.execute(sorgu2,(baski,isim))
self.baglanti.commit()
1 proje_kutuphane.py -
from kutuphane import *
print("""*******************************************
Kütüphane Programına Hoş Geldiniz
İşlemler:
1 - Kitapları Göster
2 - Kitap Sorgula
3 - Kitap Ekle
4 - Kitap Sil
5 - Baskı Yükselt
Çıkmak için 'q' ya basın.
*******************************************""")
kutuphane = Kutuphane()
while True:
islem = input("Yapacağınız İşlem: ")
if islem == "q":
print("Program Sonlandırılıyor")
print("Yine Bekleriz")
kutuphane.baglantiyi_kes()
break
elif islem == "1":
kutuphane.kitaplari_goster()
elif islem == "2":
isim = input("Hangi Kitabı İstiyorsunuz? : ")
print("Kitap Sorgulanıyor...")
time.sleep(2)
kutuphane.kitap_sorgula(isim)
elif islem == "3":
isim = input("İsim : ")
yazar = input("Yazar : ")
yayinevi = input("Yayınevi : ")
tur = input("Tür : ")
baski = int(input("Baskı : "))
yeni_kitap = Kitap(isim,yazar,yayinevi,tur,baski)
print("Kitap Ekleniyor...")
time.sleep(2)
kutuphane.kitap_ekle(yeni_kitap)
print("Kitap Eklendi")
elif islem == "4":
isim = input("Hangi Kitabı Silmek İstiyorsunuz? : ")
cevap = input("Emin Misiniz? (E/H) : ")
if cevap == "E":
print("Kitap Siliniyor...")
time.sleep(2)
kutuphane.kitap_sil(isim)
print("Kitap Silindi!")
elif islem == "5":
isim = input("Hangi Kitabın Baskısını Yükseltmek İstiyorsunuz? : ")
print("Baskı Yükseltiliyor...")
time.sleep(2)
kutuphane.baski_yukselt(isim)
print("Baskı Yükseldi!")
else:
print("Geçersiz İşlem!")
2 sarkiveritabani.py -
import sqlite3
import time
class Sarki():
def __init__(self,isim,sanatci,album,sirket,sure):
self.isim = isim
self.sanatci = sanatci
self.album = album
self.sirket = sirket
self.sure = sure
def __str__(self):
return "Şarkı İsmi : {}\nSanatçı : {}\nAlbüm : {}\nŞirket : {}\nSüre : {}".format(self.isim,self.sanatci,self.album,self.sirket,self.sure)
class Kutuphane():
def __init__(self):
self.baglanti_olustur()
def baglanti_olustur(self):
self.baglanti = sqlite3.connect("Kütüphane.db")
self.cursor = self.baglanti.cursor()
sorgu = "CREATE TABLE IF NOT EXISTS sarkilar (isim TEXT,sanatci TEXT,album TEXT,sirket TEXT,sure FLOAT)"
self.cursor.execute(sorgu)
self.baglanti.commit()
def baglantiyi_kes(self):
self.baglanti.close()
def sarkilari_goster(self):
sorgu = "SELECT * FROM sarkilar"
self.cursor.execute(sorgu)
sarkilar = self.cursor.fetchall()
if len(sarkilar) == 0:
print("Kütüphanede Şarkı Bulunmuyor")
else:
for x in sarkilar:
sarki = Sarki(x[0],x[1],x[2],x[3],x[4])
print(sarki)
def sarki_ekle(self,sarki):
sorgu = "INSERT INTO sarkilar VALUES (?,?,?,?,?)"
self.cursor.execute(sorgu,(sarki.isim,sarki.sanatci,sarki.album,sarki.sirket,sarki.sure))
self.baglanti.commit()
def sarki_sil(self,isim):
sorgu = "DELETE FROM sarkilar WHERE isim = ?"
self.cursor.execute(sorgu,(isim,))
self.baglanti.commit()
def toplam_sarki_suresi(self):
sorgu = "SELECT * FROM sarkilar"
self.cursor.execute(sorgu)
sarkilar = self.cursor.fetchall()
if len(sarkilar) == 0:
print("Kütüphanede Şarkı Bulunmuyor")
else:
toplam_sure = 0
for x in sarkilar:
toplam_sure += x[4]
print("Tüm Şarkıların Toplam Süresi : ",toplam_sure)
2 proje_sarki.py -
from sarki_veritabani import *
print("""*******************************************
Kütüphane Programına Hoş Geldiniz
İşlemler:
1 - Şarkıları Göster
2 - Şarkı Ekle
3 - Şarkı Sil
4 - Toplam Şarkı Süresini Göster
Çıkmak için 'q' ya basın.
*******************************************""")
kutuphane = Kutuphane()
while True:
islem = input("Yapacağınız İşlem: ")
if islem == "q":
print("Program Sonlandırılıyor")
print("Yine Bekleriz")
break
elif islem == "1":
kutuphane.sarkilari_goster()
elif islem == "2":
isim = input("İsim : ")
sanatci = input("Sanatçı : ")
album = input("Albüm : ")
sirket = input("Şirket : ")
sure = float(input("Süre : "))
yeni_sarki = Sarki(isim,sanatci,album,sirket,sure)
print("Şarkı Ekleniyor...")
time.sleep(2)
kutuphane.sarki_ekle(yeni_sarki)
print("Şarkı Eklendi")
elif islem == "3":
isim = input("Hangi Şarkıyı Silmek İstiyorsunuz? : ")
cevap = input("Emin Misiniz? (E/H) : ")
if cevap == "E":
print("Şarkı Siliniyor...")
time.sleep(2)
kutuphane.sarki_sil(isim)
print("Şarkı Silindi!")
elif islem == "4":
kutuphane.toplam_sarki_suresi()