Bardzo często występującym zadaniem na ‘odsianie’ na rozmowach rekrutacyjnych kandydatów mających problem z podstawami programowania jest FizzBuzz.
To proste zadanie wygląda następująco:
Wypisz liczby od 1 do 100, przy czym liczby podzielne przez 3 zastąp słowem ‘Fizz’, liczby podzielne przez 5, zastąp słowem ‘Buzz’, natomiast liczby podzielne i przez 3 i przez 5 zastąp słowem ‘FizzBuzz’.
A w rezultacie, powinniśmy otrzymać – 1, 2, Fizz, 4, Buzz, 6, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz, 16 itd
Rozwiązanie:
1. Wiemy, że potrzebujemy pętli, która przeanalizuje wszystkie liczby w przedziale 1 do 100. Sprawdzi się prosta pętla For.
2. Wiemy, że potrzebujemy przeanalizować każdą liczbę i jej resztę z dzielenia przez 3, 5 oraz 3 i 5. Każdy język będzie miał swój sposób sprawdzenia reszty z dzielenia. W Python, sposobem na zbadanie reszty z dzielenia jest operator %. Dla przykładu – 3 % 2, da nam 1
3. musimy zacząć od sprawdzenia podzielności przez 3 i 5 jednocześnie, zanim sprawdzimy podzielność przez 3 czy też przez 5.
for i in range(1,101): if i % 3 == 0 and i % 5 == 0: print ('FizzBuzz') elif i % 3 == 0: print ('Fizz') elif i % 5 == 0: print ('Buzz') else: print (i)
Ćwiczenia Python, dla początkujących
- Wstęp do kursu
- FizzBuzz <– bieżąca lekcja
- Najmniejsza i największa liczba
- Zliczanie liter
- Sortowanie bąbelkowe
- Suma dwóch liczb
- Wyszukiwanie binarne
- Gra w orła i reszkę
- Podsumowanie oraz dalsze kroki