import sqlite3
from tkinter import *
vt = sqlite3.connect('deneme7.db')
im = vt.cursor()
#vt.close()
boştablo=None
def bos_tablo():
global boştablo
s = [f't{i}' for i in range(1,12)]
for boştablo in s:
im.execute("select no from " + boştablo + "")
a=im.fetchone()
if a==None:
return
bos_tablo()
print(boştablo)# test için
def giriskelime():
a=input("Bişeyler Yaz: ")
b=a.split()
k=0
if (len(b)-1)>=k:
im.execute("select algi from ana where algi like '%{}%' group by algi".format(b[k]))
if im.fetchone()!=None or '':
print(b[k]) #test için
im.execute("""insert into " + boştablo + " select no, algi, c
from ana where algi like '%{}%' group by algi""".format(b[k]))
elif im.fetchone()==None or '':
g=len(b[k])
kelime=b[k]
print(kelime) #test için
for c in range(1,g-1):
ke=kelime[:g-c]
im.execute("select algi from ana where algi like '%{}%' group by algi".format(ke))
if im.fetchone()!=None or '':
print(ke) #test için
im.execute("""insert into '+ boştablo +' select no, algi, c from ana
where algi like '%{}%'""".format(ke))
break
if (len(b)-1)>=k+1:
im.execute("select algi from ana where algi like '%{}%' group by algi".format(b[k+1]))
if im.fetchone()!=None or '':
print(b[k+1])
im.execute("""insert into '+ boştablo +' select no, algi, c
from ana where algi like '%{}%' group by algi""".format(b[k+1]))
elif im.fetchone()==None or '':
g=len(b[k+1])
kelime=b[k+1]
print(kelime)
for c in range(1,g-1):
ke=kelime[:g-c]
im.execute("select algi from ana where algi like '%{}%' group by algi".format(ke))
if im.fetchone()!=None or '':
print(ke)
im.execute("""insert into '+ boştablo +' select no, algi, c from ana
where algi like '%{}%'""".format(ke))
break
#giriskelime() fonksiyonu, " + boştablo + " yerine t1, t2 tablo isimleri girdiğimde inputtan girilen
#ifadeyi kelimelere bölüp, eşleşen kelime yoksa ilk eşleşmeye kadar kelimeyi sağdan kırpıp
#ilgili tabloya giriyor.
“boştablo” adlı global değişkeni “giriskelime()” fonksiyonu içinde çağıramıyorum. “boştablo” diye bir tablo yok diyor. Halbuki " + boştablo + " değişkeni, fonksiyon dışında çalışıyor. Bos_tablo() fonlsiyonunu giriskelime() fonksiyonunun içinde en başa yerleştirdim, sonuç değişmedi.
1- Fonksiyon çağırma konusunda,
2- Belki fonksiyon oluşturma konusunda eksiklerim var ve zorlanıyorum.
Arkadaşlar ben programlamayı üç aydır öğrenmeye çalışıyorum, 64 yaşındayım ve evde torun var. İnternette araştırırken bazan beynim duruyor, siz gençler gibi çalışamıyor kafam. Basit hatalar yapıyorsam gülün ama hoşgörün lütfen. Bazı yerlerde çok basit anlatıma ihtiyacım olabiliyor, temel olmayınca. Teşekkür ederim yardımlarınız için.