Płaska piramida z gwiazdek
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 84 z 86.
Wyzwanie
ŁatwyNapisz funkcję flatPyramid, która przyjmuje rows i zwraca ciąg znaków przedstawiający płaską piramidę z gwiazdek.
Piramida rośnie od 1 gwiazdki do określonej liczby wierszy, a następnie zmniejsza się z powrotem do 1. Każdy wiersz powinien znajdować się w osobnej linii, oddzielony znakiem nowej linii (\n).
Logika:
- Zbuduj rosnącą część: wiersze zawierające 1, 2, 3, ... aż do
rowsgwiazdek - Zbuduj malejącą część: wiersze zawierające
rows - 1,rows - 2, ... aż do 1 gwiazdki - Połącz wszystkie wiersze znakami nowej linii
Przykład: Dla rows = 3 wynikiem powinno być:
*
**
***
**
*Zwracany jest następujący ciąg znaków: "*\n**\n***\n**\n*"
Parametry:
rows(Int): Maksymalna szerokość piramidy (środkowy wiersz)
Zwraca: Ciąg znaków zawierający pełny wzór piramidy, z wierszami oddzielonymi znakiem \n
Spróbuj swoich sił
func flatPyramid(rows: Int) -> String {
// Napisz kod tutaj
}
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloPrzypisanie złożonePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
Funkcja printInterpolacja ciągów znakówWejście ReadLineKonwersja typówPowtórka – do 120Powtórka – prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneEtykiety argumentówPowtórka – funkcja SigmaPowtórka – funkcja walidującaWartości domyślne2Zmienne
let vs varAdnotacje typówLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPodsumowanie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – prosta logikaOperatory logiczne, część 3Operator trójargumentowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych wejściowych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Typy opcjonalne
Czym są typy opcjonalneRozpakowywanie za pomocą if letGuard letOperator nil-coalescingPodsumowanie — bezpieczne rozpakowywanie6Podejmowanie decyzji
Instrukcja ifIf - ElsePowtórka – prosty kalkulatorInstrukcja switchSwitch z zakresami9Pętle
Pętla for-inPętla whilePętla repeat-whileInstrukcja breakInstrukcja continuePowtórzenie – silniaZakresy w pętlachPętla zagnieżdżonaPowtórzenie – dynamiczne dane wejściowePoćwicz samodzielnie: Edytor online Swift