Python ve Sqlalchemy kullanarak yaptığım login ekranında hata

Buradaki else, denenen her row için çalışma potansiyeline sahip. Aslında oradaki else’in tüm row’lar tarandıktan ve herhangi bir eşleşme bulunamadıktan sonra çalışması gerekiyor. Bunu, else’i bir girinti düzeyi geri alarak yapabiliriz :d

for row in sonuc_liste:
    if kadi == row.k_adi and sifr == row.sifre:
        print("Hoşgeldin", row.k_adi)
        break
else:
    print("bilgilerinizden biri yanlış")

else şu an for’a ait oldu (ayrıntılar için 1 ve 2); kısa olarak, bu else, eğer döngünün gidişatı “kırılmadıysa”, yani herhangi bir break aksiyon almadıysa çalışıyor. Dikkat ederseniz döngüde if’in altına bir break ekledik; bu sayede kayıt eşleşir eşleşmez döngüden çıkılacaktır ve else de çalışmaz. Ama hiçbir kayıt eşleşmez ise, break de çalışmayacaktır, ve for’dan sonra gelen else’in altındaki, yani “bilgilerinizden biri yanlış” kısmı çalışacaktır.