import random, sqlite3, time, sözler
vt=sqlite3.connect("c:/users/onedrive/masaüstü/dosyalar/sözlük.sqlite")
im=vt.cursor()
im.execute("""select * from sözlük""")
veriler=im.fetchall()
a={i[0]:i[1] for i in veriler}
while True:
seçim=input("""
kelime bilmek için 1'e
kelime eklemek için 2'ye
programdan çıkmak için q'ya basınız """)
doğru=0
yanlış=0
print()
if seçim=="1":
while True:
seçilen=random.choice(list(a.keys()))
cevap=input(f"{seçilen} karşılığı nedir ? ")
if cevap=="q":#ÇIKIŞ
print(a[seçilen])
print()
toplam=(int(doğru)+int(yanlış))
try:
print(f"Doğru = {doğru}, Yanlış = {yanlış}", "\n", "Başarı oranı = ", (doğru/toplam)*100)
except ZeroDivisionError:
print('Doğru = 0, Yanlış = 0', '\n', 'Başarı oranı = 0')
print("\n"*29)
break
elif cevap=="1":#ANLAMI
print("Anlamı ==> ", a[seçilen])
print()
elif cevap in a[seçilen].split(", "):#DOĞRUYSA
print("DOĞRU")
doğru+=1
print()
elif cevap != a[seçilen]:#YANLIŞSA
if cevap=='':
print()
continue
else:
print("YANLIŞ, DOĞRUSU ŞU OLACAKTI ==> ",a[seçilen])
yanlış+=1
print()
elif seçim=="q":
söz=random.choice(sözler.sözler)
print(söz)
time.sleep(len(söz.split())*(0.7))
break
elif seçim=="2":
while True:
vt=sqlite3.connect("c:/users/faruk/onedrive/masaüstü/dosyalar/sözlük.sqlite")
im=vt.cursor()
im.execute("""CREATE TABLE IF NOT EXISTS sözlük (ingilizce,türkçe)""")
eklenen=input("Yeni Kelime ==> ")
if eklenen=="q":
print("\n"*5)
break
elif eklenen in list(a.keys()):
print("BU KELİME ZATEN VAR")
time.sleep(1)
print()
else:
anlam=input("Anlamı ==> ")
print()
im.execute("INSERT INTO sözlük VALUES ('{}','{}')".format(eklenen,anlam))
vt.commit()
vt.close()
İngilizce (ing) kelimelerin Türkçelerini (tr) öğrenmek için bir program yaptım. Bu program veritabından ing kelimeleri çekiyor ve kullanıcı da türkçelerini bilmeye çalışıyor. Kelimeler random modülüyle seçiliyor. Sıkıntım şurda eğer kullanıcı hiçbir cevap vermeyip sadece enter’a basarsa programın enterla geçilen kelimeyi bir daha sormasını istiyorum yani “home” kelimesi geldi ve kullanıcı enter’a bastı bir sonraki kelimeye geçmek yerine yine “home” kelimesinin gelmesini istiyorum lakin bir çözüm bulamadım yardımcı olursanız çok sevinirim teşekkürler.