While Döngüsü
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 40 / 88.
for döngüsü, tam olarak kaç kez tekrarlayacağınızı bildiğinizde harika çalışır. Ancak belirli bir koşul değişene kadar döngüye devam etmek isterseniz ne olur? İşte burada while döngüsü devreye girer.
Bir while döngüsü, koşulu doğru kaldığı sürece çalışmaya devam eder:
count = 1
while count <= 3
puts count
count += 1
endBu, 1, 2 ve 3 çıktılarını verir. Döngü, her yinelemeden önce koşulu kontrol eder. count 4 olduğunda, count <= 3 koşulu yanlıştır ve döngü durur.
for döngüsünden temel farkı, döngü içindeki bir değişkeni değiştirerek döngünün ne zaman biteceğini sizin kontrol etmenizdir. Değişkeni güncellemeyi unutursanız, döngü sonsuza kadar çalışır! İşte bir geri sayım örneği:
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"Bu, 5'ten 1'e doğru geri sayar ve döngü bittikten sonra "Done!" yazdırır. while döngüsü, önceden kaç yinelemeye ihtiyacınız olacağını bilmediğiniz durumlarda özellikle yararlıdır.
Görev
KolayGirdiden bir n sayısı okuyun. n'den 1'e kadar olan tüm sayıları, her biri kendi satırında olacak şekilde yazdırmak için bir while döngüsü kullanın. Geri sayım bittikten sonra, yeni bir satıra Blastoff! yazdırın.
Girdi, geri sayım için başlangıç sayısını temsil eden tek bir tam sayı olacaktır.
Örneğin, girdi 5 ise çıktı şu şekilde olmalıdır:
5
4
3
2
1
Blastoff!Kopya kağıdı
Bir while döngüsü, koşulu doğru (true) kaldığı sürece çalışmaya devam eder:
count = 1
while count <= 3
puts count
count += 1
endDöngü, her yinelemeden önce koşulu kontrol eder. Koşulu en sonunda yanlış (false) yapmak için döngü içindeki değişkeni güncellemelisiniz, aksi takdirde döngü sonsuza kadar çalışır.
Örnek geri sayım:
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"Kaç yinelemeye ihtiyacınız olacağını önceden bilmediğinizde veya bir koşul değişene kadar döngü oluşturmak istediğinizde while döngülerini kullanın.
Kendin dene
# Başlangıç sayısını oku
n = gets.chomp.to_i
# TODO: Kodunuzu aşağıya yazın
# n'den 1'e kadar olan sayıları yazdırmak için bir while döngüsü kullanın
# Ardından "Blastoff!" yazdırınBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Mantıksal Operatörler Bölüm 47Hesap Paylaşımı Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcı Girdisi Alma13İleri Seviye Diziler
Aralıklar ile Dizi Dilimlemeİndeksler ile Dizi DilimlemeDizi OperatörleriInclude? Metodu2Değişkenler ve Veri Tipleri
Sayılar ve DeğişkenlerString Veri TipiBoolean Veri TipiSymbol Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıÖzet - Değişken Oluşturma8Döngüler
Aralıklar ile For DöngüsüWhile DöngüsüBreakNextÖzet - FaktöriyelTimes DöngüsüUntil Döngüsüİç İçe DöngülerÖzet - Dinamik Girdi3Operatörler Bölüm 1
Aritmetik OperatörlerModulo OperatörüAritmetik KısayollarÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel IO
puts ile Çıktı Almaprint ve p ile Çıktı AlmaDeğişkenlerle Çıktı Almagets ile Girdi AlmaChomp MetoduTip DönüşümüÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Metotlar
Metot TanımlamaMetot ParametreleriDönüş DeğerleriÖzet - Sigma MetoduÖzet - Doğrulama MetoduVarsayılan Parametre Değerleri12Koleksiyonlar Üzerinde Yineleme
Each Yineleyicisiİndeks ile EachStringler Üzerinde YinelemeMap ve Collect