Çözüldü Python döngü içindeki döngüyü durdurup ana döngüyü devam ettirme nasıl yapılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Katılım
24 Haziran 2016
Mesajlar
7.576
Çözümler
18
Daha fazla  
Sistem Özellikleri
AMD Ryzen 5 8700G | Radeon 780M | 32 GB DDR5 | Kioxia Exceria Plus G3 |
Cinsiyet
Erkek
Arkadaşlar, ufak bir program yazıyorum ama anlamadığım bir yer var, bir koşul sağlanınca döngü başlatıyorum, while döngüsü içinde başka bir while döngüsü ve onun içinde de yine bir while döngüsü kullanıyorum, istediğim koşul sağlanınca 3. while döngüsünün durmasını ama 2. while döngüsünün devam etmesini ve aynı koşulu tekrar kontrol etmesini istiyorum. Break komutu kullanınca program tamamen duruyor ve 1. while döngüsünden başlıyor. Bunun bir çözümü var mı?

Yani 1. döngü 1 kez başlayacak ve koşul sağlanınca 2. döngüyü başlatacak, sonra 3. döngüdeki istediğim koşul sağlanınca 3. döngüyü durdurup 2. döngüden tekrar başlayacak ve böyle devam edecek.

Örnek:
Python:
if (koşul sağlanırsa döngüyü başlat):
    while True:
        try:
            "değişkenler kodlar vs"
            if (bu koşul sağlanırsa 2. döngüyü başlat)
            while True:
                try:
                    "değişkenler kodlar vs."
                    if (bu koşul sağlanırsa 3. döngüyü başlat)
                    while True
                        try:
                            "kodlar"
                            if (bu koşul doğru ise bu döngüyü durdursun ve 2. döngüden tekrar başlasın,)
                        except:
                            pass
                except:
                    pass
        except:
            pass
 
Çözüm
Nasıl bir yöntem tavsiye edersiniz?
Kod yokken söyleyebildiğimi söyledim. Tekrar söylemem gerekiyor galiba. Şartlar düzgün belirtilerek uygun döngü oluşturursunuz. Örneğin;
Kod:
a = 0
while True:
    a += 1
    if a == 3:
        break
yerine
Kod:
a = 0
while a != 3:
    a += 1
yazmak. Bu basit bir örnekti. Birçok kişi iç içe while döngülerinde en içtekindeyken tamamen dışarı çıkmak için goto kullanır. Düzgün şartlı döngülerde buna gerek olmaz.

while True yazarsan bu sonsuz döngü demektir. Ben o satırı gördüğüm an kodu okumaya bırakırım çünkü yazan kişinin programı orada sonsuza kadar çalışır ve sonlanmaz.
while True yazarak kod yazmayin.
Ne tavsiye edersiniz?
Programa değil, kod kısmına baktım. Şartlar düzgün sağlanırsa istediğiniz şey yapılabilir. Ama gidip while True yazarsanız biraz zor. Daha doğrusu yazım olarak muhtemelen daha kolay ama başkasının okuması zor.
Nasıl bir yöntem tavsiye edersiniz?
 
Nasıl bir yöntem tavsiye edersiniz?
Kod yokken söyleyebildiğimi söyledim. Tekrar söylemem gerekiyor galiba. Şartlar düzgün belirtilerek uygun döngü oluşturursunuz. Örneğin;
Kod:
a = 0
while True:
    a += 1
    if a == 3:
        break
yerine
Kod:
a = 0
while a != 3:
    a += 1
yazmak. Bu basit bir örnekti. Birçok kişi iç içe while döngülerinde en içtekindeyken tamamen dışarı çıkmak için goto kullanır. Düzgün şartlı döngülerde buna gerek olmaz.

while True yazarsan bu sonsuz döngü demektir. Ben o satırı gördüğüm an kodu okumaya bırakırım çünkü yazan kişinin programı orada sonsuza kadar çalışır ve sonlanmaz.
 
Son düzenleme:
Çözüm
Kod yokken söyleyebildiğimi söyledim. Tekrar söylemem gerekiyor galiba. Şartlar düzgün belirtilerek uygun döngü oluşturursunuz. Örneğin;
Kod:
a = 0
while True:
 a += 1
 if a == 3:
 break
Yerine
Kod:
a = 0
while a != 3:
 a += 1
Yazmak. Bu basit bir örnekti. Birçok kişi iç içe while döngülerinde en içtekindeyken tamamen dışarı çıkmak için goto kullanır. Düzgün şartlı döngülerde buna gerek olmaz.

While True yazarsan bu sonsuz döngü demektir. Ben o satırı gördüğüm an kodu okumaya bırakırım çünkü yazan kişinin programı orada sonsuza kadar çalışır ve sonlanmaz.

Teşekkür ederim yardımcı olan tüm arkadaşlara, yardımlarınızla sorunu çözdüm.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı