İç İçe Döngü
Coddy'nin Swift Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 49 / 86.
İç içe döngü, başka bir döngünün içindeki döngüdür. İç döngü, dış döngünün her bir yinelemesi için tüm yinelemelerini tamamlar.
let rows = 3
let cols = 2
for row in 1...rows {
for col in 1...cols {
print("Row \(row), Col \(col)")
}
}
// Çıktı:
// Row 1, Col 1
// Row 1, Col 2
// Row 2, Col 1
// Row 2, Col 2
// Row 3, Col 1
// Row 3, Col 2row değerinin her biri için iç döngü yeniden başlar ve col değerlerinin tümü boyunca, 1'den cols değerine kadar ilerler. Dolayısıyla rows = 3 ve cols = 2 olduğunda, içindeki kod toplam 6 kez çalışır (3 × 2). rows ve cols hiç değişmez: yalnızca döngülere ne zaman duracaklarını söylerler.
İç içe döngüler genellikle ızgara benzeri yapılarla çalışmak veya desenler oluşturmak için kullanılır.
İşte yıldız işaretlerinden oluşan basit bir dikdörtgen yazdıran bir örnek:
for row in 1...2 {
for col in 1...4 {
print("*", terminator: "")
}
print("") // Sonraki satıra geç
}
// Çıktı:
// ****
// ****terminator: "", print'in yeni satır eklemesini önler, böylece yıldızlar aynı satırda görünür. İç döngü tamamlandıktan sonra print("") bir sonraki satıra geçer.
Görev
KolayGirdiden iki tam sayı oku: rows ve cols. Her hücrenin satır numarası ile sütun numarasının çarpımını gösterdiği bir sayı tablosu yazdırmak için iç içe döngüler kullan.
Aşağıdaki girdileri alacaksın:
- İlk satır: satır sayısı (ör.
"3") - İkinci satır: sütun sayısı (ör.
"4")
Gereksinimler:
- Satırlar için bir dış döngü kullan (1'den
rows'a kadar) - Sütunlar için bir iç döngü kullan (1'den
cols'a kadar) - Geçerli satır ve sütun numaralarının çarpımını yazdır
- Aynı satırdaki değerleri bir boşlukla ayır
- Her satır ayrı bir satırda olmalı
İpucu: Değerleri aynı satırda tutmak için terminator: " " kullan, ardından sonraki satıra geçmek için iç döngüden sonra print("") kullan.
Örneğin, rows değeri 3 ve cols değeri 4 ise çıktı şöyle olmalıdır:
1 2 3 4
2 4 6 8
3 6 9 12 Her döngü için yeni bir sayaç kullan (örneğin satırlar için row, bir satırdaki sayılar için col) ve bunu rows veya cols ile karşılaştır. rows ve cols değerlerini değiştirme: her satırda cols değerine yeniden ihtiyaç vardır.
Kendin dene
let rows = Int(readLine()!)!
let cols = Int(readLine()!)!
// TODO: Kodunuzu aşağıya yazın
// Bir çarpım tablosu yazdırmak için iç içe döngüler kullanın
// Dış döngü: satırlar boyunca yineleyin (1'den rows değerine kadar)
// İç döngü: sütunlar boyunca yineleyin (1'den cols değerine kadar)
// row * column çarpımını yazdırın
// Değerleri aynı satırda tutmak için print(..., terminator: " ") kullanın
// Sonraki satıra geçmek için iç döngüden sonra print("") kullanınBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temel Bilgiler bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod OperatörüBileşik AtamaTekrar - Basit MatematikKarşılaştırma Operatörleri7Temel Girdi/Çıktı
Print FonksiyonuDize EnterpolasyonuReadLine ile GirdiTür DönüşümüTekrar - 120'ye KadarTekrar - Doğru mu Yanlış mı10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriTekrar - Sigma FonksiyonuTekrar - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Öğeler Üzerinde YinelemeEnumerate YöntemiDizeler Üzerinde Yineleme P1Dizeler Üzerinde Yineleme P22Değişkenler
Let ve VarTür AnotasyonlarıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Tekrar - Basit MantıkMantıksal Operatörler Bölüm 3Üçlü Operatör8Hesap Bölüştürme Hesaplayıcısı
Karşılama MesajıGirdi Alma11FizzBuzz'a Farklı Bir Yorum
Oyuna Genel BakışFizzBuzz Fonksiyonu3Optional Değerler
Optional Değerler NedirIf Let ile AçmaGuard LetNil Birleştirme OperatörüTekrar - Güvenli Açma9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueTekrar - FaktöriyelDöngülerde Aralıklarİç İçe DöngüTekrar - Dinamik GirdiKendi başına pratik yap: Swift playground