Python'da while döngüsü. Nasıl çalışır, kullanım örnekleri

Döngüler, herhangi bir dilin ana araçlarından biridir. Python'da biri while olan iki temel döngü vardır. Bunu düşünün ve ayrıca resmi daha iyi anlamak için bir tane daha. Gerçekten de, benzer bir şeye kıyasla, herhangi bir materyali anlamak çok daha kolay, değil mi?

Bir döngü kavramı

Belirli bir eylemin birden çok kez gerçekleştirilmesi gerektiğinde bir döngü gereklidir. Bu çok basittir, çünkü gerçekte çevrimler için uygulama yelpazesi çok daha geniştir. Python'da iki ana döngü türü vardır: for ve while. En popüler için.

Belirli eylemlere ek olarak, belirli bir noktaya kadar farklı kod parçalarını döngüye alabilirsiniz. Bu, belirli sayıda veya belirli bir koşul doğru olduğu sürece olabilir.

Döngü türlerini anlamaya başlamadan önce ve özellikle de yinelemenin ne olduğunu anlamamız gerekir. Bu, geçerli uygulama çalıştırması içinde geçerli döngü sırasında bir eylemin veya eylem dizisinin bir tekrarıdır.

Döngüsü

For döngümüz diğer birçok dilde olduğu gibi bir sayaç değildir. Görevi, belirli bir değerler dizisini numaralandırmaktır. Ne anlama geliyor? Diyelim ki bir element listemiz var. İlk olarak, döngü birinci, ikinci, üçüncü vb.

Python'daki bu döngünün avantajı, döngüden ne zaman çıkılacağını bilmek için öğenin dizinini belirlemenize gerek olmamasıdır. Her şey otomatik olarak yapılacaktır.

>>> spek = [10, 40, 20, 30]

>>> spisok'taki eleman için:

… yazdır(öğe + 2)

...

12

42

22

32

Örneğimizde değişkeni kullandık. eleman for komutundan sonra. Genel olarak, isim herhangi bir şey olabilir. Örneğin, popüler bir atama i'dir. Ve her yinelemede, bu değişkene listeden uygun kelime adını verdiğimiz belirli bir nesne atanacaktır.

Bizim durumumuzda, liste 10,40,20,30 sayı dizisidir. Her yinelemede, karşılık gelen değer değişkende görünür. Örneğin, döngü başlar başlamaz değişken eleman 10 değeri atanır. Bir sonraki yinelemede on, 40 sayısına, üçüncü kez 20 sayısına ve son olarak, döngünün son yinelemesinde 30'a dönüşür.

Döngünün sonu için sinyal, listedeki öğelerin sonudur.

Diğer programlama dillerinde olduğu gibi klasik bir değer sayımı gerçekleştirmek için döngüye ihtiyacınız varsa, ihtiyacımız olan değere kadar bir dizi doğal sayı içeren bir liste oluşturmalısınız.

>>> spek = [1,2,3,4,5]

Veya işlevi kullanın uzun(), Listenin uzunluğunu belirlemek için. Ancak bu durumda bir döngü kullanmak daha iyidir. süre, çünkü değişken kullanmaya gerek yoktur.

Listedeki değerlerin sırasını değiştirmeniz gerekirse, döngü için ve işte kurtarmaya geliyor. Bunu yapmak için, her yinelemede listenin her elemanına uygun bir değer atanmalıdır.

Döngü sırasında

döngüden farklı olarak içinbasitçe dizinin değerleri üzerinde yinelenen döngü, süre daha fazla kullanım alanı vardır. Bu tür döngülerin adı “henüz” olarak çevrilir. Yani "kadar".

Bu, tüm programlama dillerinde bulunan evrensel bir döngüdür. Ve bazı yönlerden koşullu bir operatöre benziyor porsuk, belirli bir koşulun karşılanıp karşılanmadığını görmek için bir kontrol gerçekleştirir. Yalnızca koşullu operatörün aksine, süre denetimi yalnızca bir kez değil, her yinelemede gerçekleştirir. Ve sadece koşul yanlışsa, döngü sona erer ve onu takip eden komut yürütülür. Basit bir deyişle, çalıştığı durum artık geçerli değilse.

bir döngü çizersek süre basitçe, bu böyle bir şema kullanılarak yapılır.Python'da while döngüsü. Nasıl çalışır, kullanım örnekleri

Programın ana dalı (döngünün dışında çalışan) bu şekilde mavi dikdörtgenlerle gösterilmiştir. Turkuaz, döngünün gövdesini temsil eder. Buna karşılık, bir eşkenar dörtgen, her yinelemede kontrol edilen bir durumdur.

devir süre iki istisnaya neden olabilir:

  1. Döngünün başında mantıksal ifade doğru dönmezse, yürütmeden önce tamamlanmış olarak başlamaz. Genel olarak, bu durum normaldir, çünkü belirli koşullar altında uygulama, döngü gövdesinde ifadelerin varlığını sağlamayabilir.
  2. İfade her zaman doğruysa, bu bir döngüye yol açabilir. Yani, döngünün sonsuz kaydırmasına. Bu nedenle, bu tür programlarda her zaman döngüden veya programdan bir çıkış ifadesi olmalıdır. Ancak, program belirli bir koşulun doğruluğunu veya yanlışlığını belirleyebilirse bu durum ortaya çıkacaktır. Bunu başaramazsa, programın sonlandırılmasıyla birlikte bir hata döndürülür. Veya hatayı işleyebilirsiniz ve ardından oluşursa belirli kodlar yürütülür.

Bir hatanın nasıl ele alınacağı konusunda çok sayıda seçenek olabilir. Örneğin, program kullanıcıdan verileri doğru bir şekilde girmesini isteyebilir. Bu nedenle, bir kişi yalnızca pozitif olabileceği yerde negatif bir sayı belirttiyse veya yalnızca sayıların olması gereken yerlerde harfler girdiyse, program bunu söyleyebilir.

Döngü Örnekleri

İşte bu durumda bir hatayı işleyen bir kod örneği.

n = input("Bir tamsayı giriniz: ") 

while type(n) !=int:

    deneyin:

        n = int(n)

    ValueError dışında:

        print(“Yanlış giriş!”)

        n = input("Bir tamsayı giriniz: ") 

n % 2 == 0 ise:

    print(“Eşit”)

Başka:

    print(“Tek”)

Python'un karmaşık kod yapılarını bildirmek için iki nokta üst üste kullandığını unutmayın.

Yukarıdaki kodda sayının tamsayı olup olmadığını kontrol etmemiz gereken bir koşul tanımladık. Evet ise, false döndürülür. Değilse, o zaman doğrudur.

Kodun ikinci kısmında operatörün kullanıldığı kısımdır. if, bölme işleminden sonra kalanı bulmak için % operatörünü kullandık. Bir sonraki adım, sayının çift olup olmadığını kontrol etmektir. Değilse, kalan bu durumda birdir. Buna göre sayı tektir. 

Basit bir ifadeyle, yukarıdaki kod önce kullanıcı tarafından girilen dizenin bir sayı olup olmadığını kontrol eder. Evet ise, ikiye bölmenin geri kalanının olup olmadığını görmek için ikinci bir kontrol yapılır. Ancak, kullanıcı tarafından girilen değer sayısal olana kadar ikinci blok yürütülmeyecektir.

Yani, koşul gerçekleşene kadar döngü düzenli olarak yürütülecektir. Bu durumda şu şekilde çalışır. 

Yani, tam tersinden gidebilirsiniz: olay yanlış olana kadar belirli bir eylemi döngüye sokun.

Kod ayrıştırma

Şimdi bu kodun nasıl çalıştığını daha detaylı görelim. Bunu yapmak için adım adım analiz edeceğiz.

  1. İlk olarak, kullanıcı, n değişkeni tarafından kabul edilen bir dize girer. 
  2. Döngü kullanma süre bu değişkenin türü kontrol edilir. İlk girişte, eşit değil int. Bu nedenle yapılan test sonucunda bu koşulun doğru olduğu bulunur. Bu nedenle, döngü gövdesi girilir.
  3. Bir operatör yardımıyla denemek bir dizgiyi sayıya dönüştürmeye çalışıyoruz. Bu yapılırsa, herhangi bir hata oluşmaz. Buna göre, işlemeye gerek yoktur. Bu nedenle yorumlayıcı döngünün başına döner ve kontrol sonuçlarına göre tamsayı olduğu ortaya çıkar. O zaman 7. adıma gidelim
  4. Dönüştürme başarısız olursa, bir ValueError atılır. Bu durumda, program akışı istisna işleyicisine gönderilir.
  5. Kullanıcı, n değişkenine atanan yeni bir değer girer.
  6. Tercüman 2. adıma döner ve tekrar kontrol eder. Eğer bir tamsayı ise 7. adıma gidin. Değilse 3. adıma göre dönüştürme tekrar denenir.
  7. Bir operatör yardımıyla if Bir sayıyı 2'ye böldükten sonra kalan olup olmadığını belirler. 
  8. Değilse, “even” metni döndürülür.
  9. Değilse, “tek” metni döndürülür.

Şimdi böyle bir örnek düşünün. Bu döngünün kaç kez geçeceğini belirlemeye çalışın?

toplam = 100 

i = 0

i < 5 iken:

    n = int(girdi())

    toplam = toplam — n

    i = i + 1 

print(“Kalan”, toplam)

Doğru cevap 5'tir. Başlangıçta değişkenin değeri i - sıfır. Yorumlayıcı, değişkenin eşit olup olmadığını kontrol eder. i 4 veya daha az. Evet ise, değer döndürülür. gerçek, ve döngü buna göre yürütülür. Değer bir artar.

İlk iterasyondan sonra değişkenin değeri 1 olur. Bir kontrol yapılır ve program bu sayının yine 5'ten küçük olduğunu anlar. Buna göre döngü gövdesi ikinci kez çalıştırılır. Adımlar benzer olduğu için değer de bir artırılır ve değişken artık 2'ye eşittir.

Bu değer de beşten küçüktür. Ardından döngü üçüncü kez yürütülür ve değişkene eklenir. i 1 ve 3 değeri atanır. Bu yine beşten küçüktür. Ve böylece, değişkenin değerinin olduğu döngünün altıncı yinelemesine gelir. i eşittir 5 (sonuçta hatırladığımız kadarıyla başlangıçta sıfırdı). Buna göre bu koşul testi geçmez ve döngü otomatik olarak sonlandırılır ve bunun dışında kalan bir sonraki adıma geçiş (veya aşağıdaki adımlar sağlanmadıysa program sonlandırma) gerçekleştirilir.

Döngü ters yönde de gerçekleşebilir. Burada, sonraki her yinelemede, değişkenin geçerli değerinden birinin çıkarıldığı bir kod örneği verilmiştir. 

toplam = 100 

toplam > 0 iken:

    n = int(girdi())

    toplam = toplam — n 

print(“Kaynak tükendi”)

Bu programın ne yaptığını tahmin etmeye çalışın! Bunu bir değişkende hayal edin Genel Toplam program kaynağı hakkında bilgi depolanır. Tercüman, kaynağın var olup olmadığını her kontrol ettiğinde. Değilse, “Kaynak tükendi” metni görüntülenir ve program kapanır. Ve döngünün her yinelemesinde kaynak, kullanıcının belirttiği sayı kadar azalır.

Ve şimdi ödev. Değişkenin fiziksel olarak negatif olmaması için yukarıdaki kodu değiştirmeyi deneyin. 

4 Yorumlar

  1. si kodu ahaan usoo gudbi

Yorum bırak