Powtórzenie – dynamiczne dane wejściowe
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 50 z 86.
Wyzwanie
ŁatwyOdczytuj liczby z wejścia, aż użytkownik wpisze "end". Oblicz i wypisz iloczyn wszystkich wprowadzonych liczb dodatnich.
Otrzymasz następujące dane wejściowe:
- Wiele wierszy danych wejściowych, z których każdy zawiera liczbę lub słowo
"end" - Dane wejściowe kończą się, gdy zostanie wpisane
"end"
Wymagania:
- Użyj pętli
whilezreadLine(), aby stale odczytywać dane wejściowe - Przestań odczytywać dane, gdy wejście będzie równe
"end" - Dla każdej prawidłowej liczby całkowitej sprawdź, czy jest dodatnia (większa od 0)
- Mnoż przez siebie tylko liczby dodatnie
- Wypisz końcowy iloczyn
Uwaga: Zacznij od iloczynu równego 1 (ponieważ mnożenie przez 1 nie zmienia wyniku). Jeśli nie zostaną wprowadzone żadne liczby dodatnie, wynikiem powinno być 1.
Na przykład, jeśli dane wejściowe to:
3
-2
4
0
2
endLiczby dodatnie to 3, 4 i 2. Iloczyn wynosi 3 * 4 * 2 = 24, więc wynikiem powinno być:
24Spróbuj swoich sił
var product = 1
// TODO: Napisz swój kod poniżej
// Użyj pętli while z readLine(), aby odczytywać dane wejściowe aż do "end"
// Każdą liczbę dodatnią pomnóż przez product
print(product)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