Я пытаюсь изучить Swift. Сейчас я прохожу 5-й урок «Учебника Swift для начинающих» от Code с Крисом. Я завершаю все подготовленные им задания, но застрял на задании 5, которое заключается в том, чтобы напечатать такой шаблон:
*
**
***
****
*****
Я не понимаю, почему я должен использовать вложенный l oop.
Согласно завершенному файлу задачи, код должен выглядеть так:
var drawPixel:String = "*"
var height:Int = 5
var tempRow:String = ""
for columnPixel in 1...height {
tempRow = ""
for _ in 1...columnPixel{
tempRow += drawPixel
}
print(tempRow)
}
но
var drawPixel:String = "*"
var height:Int = 5
var tempRow:String = ""
for _ in 1...height{
tempRow += drawPixel
print(tempRow)
}
также работает так, как должно и кажется проще. Я понимаю свой метод (второй код), но не тот, который должен использовать. Мои вопросы:
- Почему существует вложенный l oop?
- почему в первом примере вложенный l oop относится к columnPixel (для _ в 1 ... columnPixel), поскольку уже определено, что он должен повторять от l oop до 5?
- Наконец, почему print (tempRow) находится вне вложенного l oop?
Вот вызов: https://docs.google.com/document/d/1DI-4RkYkRl8EPY17TOwfK8gCl--KMdqLEPP-hz6QHI0/edit# (переходите к Испытанию 5)
Заранее спасибо!