İf-else alakalı bir problemim var

Merhaba, programım for döngüsü içerisinde, if şartı sağlandıktan sonra ardından gelen elif veya else şartlarını çalıştırıyor.
İf sağlandıktan sonra neden diğer şartları kontrol ediyor, nerede hatam var ?
Kodun tamamı gerekiyorsa atabilirim.

for sayac in range(1, 31): 
    for key, value in istekler.items():
        for i in value:
            if str(sayac) == i:
                günler[sayac-1][1] = (key)

            elif str(sayac) != i:
                pick = random.choice(personeller)
                günler[sayac-1][1] = (pick)
            #else:
             #   pick = random.choice(personeller)
             #   günler[sayac-1][1] = (pick)        

Merhaba,

Yazdığınız koda göre str(sayac)'ın i’ye eşit olup olmadığı i’nin ve sayac’ın alacağı birçok değere göre birçok kez kontrol edilecek. Ancak hem if hem de elif durumunun aynı anda gerçekleşmesi mümkün değil. Muhtemelen farklı bir i veya sayac değeri if’de tanımlı koşula uyarken, farklı bir i ve sayac değeri de elif koşuluna uyuyordur.

1 Beğeni

Teşekkürler, hatamı anladım. Elif sildim ve 2.for’un hizasına yeni bir if ekleyerek sorunu çözdüm.