döngü python dışında kırmak

Python işlevleri ve meth

Bir break ifadesi Python'a bir döngüden çıkması talimatını verir. Bir döngünün dışında bir break ifadesi kullanırsanız, örneğin, bir üst döngü olmayan bir if ifadesinde, “SyntaxError: ‘break’ dış döngü” kodunuzda hata var.

Bu kılavuzda, bu hatanın ne anlama geldiğini ve neden görebileceğinizi tartışacağız. Hatayı nasıl düzelteceğinizi öğrenebilmeniz için bu hatanın bir örneğini inceleyeceğiz.




SyntaxError: ‘break’ dış döngü

Python break ifadesi bir “break” for döngüsü veya while döngüsü içinde. Daha fazla yineleme için bir döngünün yürütülmesini durdurur.

Break ifadeleri genellikle bir döngüde bulunan bir if ifadesinin içine alınır. Böyle bir durumda, programcı belirli bir koşul karşılanırsa bir döngünün durmasını söyleyebilir.

Bir break ifadesi yalnızca bir döngü içinde kullanılabilir. Bunun nedeni, break ifadesinin amacının bir döngüyü durdurmak olmasıdır. Bir if deyiminin içinde bir break deyimi kullanabilirsiniz, ancak yalnızca if deyimi bir döngü içindeyse.




Örnek Bir Senaryo

Şunun için bir kullanıcı adını doğrulayan bir program yazalım. bir oyun. Bir kullanıcı adının geçerli olması için on iki karakterden kısa olması gerekir. Bir kullanıcı adı boşluk içermemelidir.

Kullanıcı adımızı doğrulamak için iki if ifadesi kullanacağız. Başlamak için, bir kullanıcıdan input() ifadesi kullanarak oyunumuz için bir kullanıcı adı seçmesini isteyelim:

username = input("Yeni kullanıcı adınızı girin: ")

Sonra, bir Kullanıcı adımızın 12 karakterden kısa olup olmadığını kontrol etmek için if ifadesi:

Katılımcıların %81'i daha fazla hissettiklerini belirtti Bir eğitim kampına katıldıktan sonra teknik iş olanakları konusunda kendilerine güveniyorlar. Bugün bir eğitim kampı ile eşleştirin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan az zaman harcadı.

Bir kullanıcının girdiği kullanıcı adı ise programa 12 karakterden az ise, programımız konsola kullanıcı adının doğru uzunlukta olduğunu bildiren bir mesaj yazdırır. Aksi takdirde, bir break ifadesi çalışacaktır.


Sonra, kullanıcı adının boşluk içerip içermediğini doğrulayalım:

if " " kullanıcı adında değil: print("Bu kullanıcı adı geçerlidir.") else: break

Bir if... in ifadesinde, “username” dizesinde bir karakter olup olmadığını kontrol ederiz. Boş bir alan olup olmadığını kontrol ederiz. Bu boşluk if ifademizde iki tırnak işareti içine alınır.

Bir kullanıcı adı boşluk içeriyorsa, bir break ifadesi yürütülür.break ifadesi, kodumuzdaki else ifadesinin bir parçasıdır.

Kodumuzu çalıştıralım ve ne olduğunu görelim:

 Dosya "main.py", satır 6 break ^ SyntaxError: 'break' döngü dışında

Kodumuz bir hata döndürüyor r.




Çözüm

Bir kullanıcının kullanıcı adını doğrularken kriterlerimizden biri karşılanmazsa programımızı durdurmak için bir break ifadesi kullandık.

Bu bir hataya neden olur çünkü break ifadesi bir programın herhangi bir yerinde bir break başlatmak için tasarlanmamıştır. break deyimi yalnızca bir döngünün daha fazla yürütülmesini durdurur.

Kodumuzu düzeltmek için break deyimlerini kaldırmamız gerekir. Bunları, programımızı durduran ve bir hata mesajı veren bir istisna ile değiştirebiliriz:

if len (kullanıcı adı) < 12: print("Bu kullanıcı adı doğru sayıda karakterdir.") else: boost Exception("Kullanıcı adınız on iki karakterden kısa olmalıdır.") if " " kullanıcı adında değilse: print("Bu kullanıcı adı geçerlidir.") başka : boost Exception("Kullanıcı adınız boşluk içeremez")

Bir kullanıcı adının uzunluğu 12'ye eşit veya daha büyükse veya bir kullanıcı adı boşluk içeriyorsa, programımız bir istisna oluştur. Bu istisna, programımızın devam etmesini durduracaktır.

Kodumuzu çalıştıralım:

Yeni kullanıcı adınızı girin: bill3 Bu kullanıcı adı doğru sayıda karakterdir Bu kullanıcı adı geçerlidir

Kullanıcı adımız geçerliyse kodumuz başarıyla çalışır. Geçersiz bir kullanıcı adı girersek ne olacağını görelim:

Yeni kullanıcı adınızı girin: bill 3 Bu kullanıcı adı doğru sayıda karakterdir Geri İzleme (en son çağrı son): Dosya "main.py", satır 11,  upgrade Exception("Kullanıcı adınız boşluk içeremez") İstisna: Kullanıcı adınız boşluk içeremez

Kodumuz bir istisna döndürür. Alternatif olarak, kullanıcıya kullanıcı adının yanlış olduğunu bildirmek için print deyimlerini kullanabilirdik. Bu, yalnızca programımızın devam etmesini istiyorsak veya bir kullanıcı adı başarıyla doğrulanana kadar çalışan bir döngümüz varsa uygun olacaktır.





Sonuç

Bir döngü dışında bir break ifadesi kullandığınızda “SyntaxError: ‘break’ dış döngü” hatası ortaya çıkıyor.

Bu hatayı çözmek için, herhangi bir break deyimini uygun bir alternatifle değiştirin.Bir kullanıcıya bir mesaj sunmak için, bir print() deyimi kullanabilirsiniz.Bir koşul karşılandığında programınızın yürütülmesini durdurmak için , bir istisna oluşturabilirsiniz.





döngü python dışında kırmak: StackOverflow Questions

Tutorials