Wyzwanie: FizzBuzz
Część sekcji Logika i przepływ sterowania ścieżki Dart w Coddy. Lekcja 65 z 65.
Wyzwanie
ŁatwyUtwórz program, który implementuje klasyczne wyzwanie FizzBuzz, używając prawidłowej struktury pętli i logiki warunkowej. To wyzwanie sprawdza, czy potrafisz połączyć pętle, instrukcje warunkowe i operator modulo, aby rozwiązać dobrze znany problem programistyczny.
Twoim zadaniem jest:
- Użyć pętli
for, aby przejść kolejno przez liczby od 1 do 50 (włącznie) - Dla każdej liczby zastosować po kolei następujące reguły:
- Jeśli liczba jest podzielna zarówno przez 3, jak i przez 5, wypisać
FizzBuzz - Jeśli liczba jest podzielna tylko przez 3, wypisać
Fizz - Jeśli liczba jest podzielna tylko przez 5, wypisać
Buzz - Jeśli liczba nie jest podzielna przez 3 ani przez 5, wypisać samą liczbę
- Jeśli liczba jest podzielna zarówno przez 3, jak i przez 5, wypisać
- Każdy wynik powinien znaleźć się w osobnym wierszu
- Użyć operatora modulo (
%), aby sprawdzić podzielność - Ułożyć instrukcje warunkowe, używając
if,else ifielsewe właściwej kolejności
Pierwsze kilka wierszy wyniku powinno wyglądać tak:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzPamiętaj, że kluczem do poprawnego rozwiązania FizzBuzz jest najpierw sprawdzenie przypadku „oba warunki” (podzielność zarówno przez 3, jak i przez 5), a dopiero potem sprawdzenie poszczególnych warunków. Liczba jest podzielna przez inną liczbę, jeśli reszta z dzielenia przez tę liczbę wynosi zero.
Twój program powinien pokazywać prawidłowe użycie pętli do iteracji, operatora modulo do sprawdzania podzielności oraz instrukcji warunkowych ułożonych we właściwej kolejności logicznej, tak aby obsłużyć wszystkie możliwe przypadki.
Spróbuj swoich sił
void main() {
// TODO: Napisz swój kod poniżej
// Użyj pętli for, aby przejść od 1 do 50
// Sprawdź podzielność za pomocą operatora modulo (%)
// Pamiętaj, aby najpierw sprawdzić podzielność jednocześnie przez 3 i 5, a następnie każdy warunek osobno
// Wypisz każdy wynik w osobnym wierszu
}Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Zaawansowana manipulacja listami
Właściwości listy: first i lastStan listy: isEmpty i isNotEmpOdwracanie listyDodawanie do listy: insertUsuwanie z listy: removeWhereWyszukiwanie na liście: indexOfSortowanie listyMieszanie elementów listyPodsumowanie – Organizator listy4Zaawansowane operacje na mapach
Iterowanie po mapieSprawdzanie kluczy i wartościWłaściwości mapy: klucze i wartościDodawanie warunkowe: putIfAbsentUsuwanie wpisów z mapyZagnieżdżone mapyPodsumowanie – aktualizacja stanu magazynowego2Operacje funkcyjne na listach
Przekształcanie za pomocą 'map'Filtrowanie za pomocą 'where'Używanie '.toList()'Sprawdzanie warunków za pomocą 'any'Warunki z użyciem 'every'Wyszukiwanie za pomocą 'firstWhere'Podsumowanie — filtrowanie danych5Projekt: Kalkulator koszyka zakupowego
Konfiguracja projektuDodawanie produktów do koszyka3Zbiory
Czym jest zbiór?Tworzenie zbioruDodawanie i usuwanie elementów ze zbiorówSprawdzanie, czy element znajduje się w zbiorzeKonwersja listy na zbiórSuma zbiorówCzęść wspólna zbiorówRóżnica zbiorówPodsumowanie — unikalna lista gościPoćwicz samodzielnie: Kompilator Dart online