While ve for döngülerini iç içe kullanma

Merhabalar,
Tam da sizin durumunuza uygun, döngülerle beraber kullanılan “else” deyimi var. Nasıl ki if deyiminin ardına else yazabiliyoruz, Python bize for ve while döngülerinin ardına da else yazabilme olanağı sunuyor. Eğer for/while döngüsü normal şekilde, yani break olmaksızın sonlandıysa, else deyiminin belirttiği kod çalışıyor. Ama döngü break ile sonlandıysa else kısmındaki kod çalışmıyor.

Örnek:

sayilar = (13, -5, 77, 43, 41, 25, -9)
for sayi in sayilar:
    if sayi % 2 == 0:
        print("Dikkat dikkat: çift sayıya rastlandı, döngü terk ediliyor!")
        break
else: # girinti düzeyine dikkat, for ile aynı hizadalar
    print("Yaşasıın, hiçbir çift sayıya rastlamadık, herkes tek!")

Sizin kodunuz da dolayısıyla a değişkenine ihtiyaç duymadan şöyle yazılabilir:

turkce_karakterler = "şüöİğıçŞÜÖĞIÇ"
while True:
    metin = input("Metninizi giriniz: ")
    for i in turkce_karakterler:
        if i in metin:
            print("Lütfen türkçe karakter kullanmayınız!!!")
            break
    else:
        print("Hiçbir türkçe karakter kullanmadınız, teşekkürler!")
        break # bu break while döngüsünden çıkarır

Not: Bu şekilde kullanılan “else:” deyimini “nobreak:” şeklinde de düşünebiliriz.

1 Beğeni