İki kod arasındaki fark

Merhaba, henüz yeni Python öğrenmeye başladığımdan,Yazbel PDF’i üzerinde konulara bakıyo, tekrar etmeye çalışıyorum.

Her konu da farklı farklı örnekler uydurup kendi kendime kod yazıyorum. Her seferinde fark ettiğim şu oluyor: mesela count() fonksiyonu ile ilgili çalışırken PDF’te şöyle bir örnek var;

parola = input("parolanız: ")

kontrol = True

for i in parola:
    if parola.count(i) > 1:
        kontrol = False

if kontrol:
    print('Parolanız onaylandı!')
else:
    print('Parolanızda aynı harfi bir kez kullanabilirsiniz!')

ben ise bu kodlarla aynı şeyleri yapan şöyle bir kod yazdım;

parola = input("Lütfen bir parola belirleyin: ")

for hede in parola:
    if parola.count(hede) > 1:
        print("Aynı harfi sadece 'Bir' defa girebilirsiniz.!")  
        break

    else:
        print("Onaylandı")

her seferinde aynı işi yapan daha az kod yazıyorum bu ben de acaba yanlış mı ve ya yazdığım kod diğerine nazaran hata olasılığı fazla mı diye düşündürüyor. Bu konu da bana ne söylemek istersiniz. Her konu da böyle olması normal mi?
Ve ya PDF öğretici olduğundan, daha fazla kod satırı öğrenen kişiye daha fazla şey anlatmak istendiğinden dolayı mı?

Teşekkür ederim.

Sizin yazdığınız kodlara göre, diyelim parolaya "Ali" yazdık. "Ali" karakter dizisinde tekrar eden bir harf olmadığı için, her tekrar etmeyen harf için ekrana bir kez "Onaylandı" yazısının yazdırıldığını göreceksiniz. Dolayısıyla ekrana üç defa değil de bir defa "Onaylandı" yazısının yazdırılmasını istiyorsanız kodlarınızı şu şekilde değiştirmeniz gerekiyor.

parola = input("Lütfen bir parola belirleyin: ")

for hede in parola:
    if parola.count(hede) > 1:
        print("Aynı harfi sadece 'Bir' defa girebilirsiniz.!")  
        break
else:
    print("Onaylandı")

Paylaştığınız ilk örnekte ise kontrol değişkeninin belli bir koşula göre alacağı değer ile for döngüsünün dışındaki başka koşullar altında hangi işlemlerin yapılması gerektiğini belirliyorsunuz.

1 Beğeni

Dün gece bir örnek vermiştim ancak uyku sersemi olduğum için galiba :slight_smile:

    else:
    print("Onaylandı")
şu kısmı unutmuşum döngünün dışında olmalı evet yoksa yanlış çıktı verir.
@dildeolupbiten  durumu düzeltmiş sağolsun.

Hep PDF demeniz dikkatimi çekti de, PDF’ler artık güncellenmiyor, buradan güncel belgelere ulaşabilirsiniz.

@dildeolupbiten’in de dediği gibi tam olarak aynı şekilde çalışmıyor.

Bazen bir konunun anlaşılması için daha kolay yapılabilecek bir işi uzatmak normal. Siz bu yollara hep uymak zorunda değilsiniz, önemli olan konunun anlaşılması.