By lukasz October 18, 2020 In Kurs Python'a dla początkujących

Python – bezpłatny kurs dla początkujących #5, Pętle

Dzisiaj poznamy kolejny super ważny element, który wykorzystywany jest praktycznie cały czas w codziennej pracy programisty – pętle.

Czym są Pętle?

Wielokrotnie zdarza się, że tworząc jakiś program, chcemy aby jakaś część zawartego w nim kodu wykonała się co najmniej kilka razy, na przykład:

  • kiedy na poprzednich lekcjach tworzyliśmy nasz kalkulator, dobrze byłoby, aby program nie kończył się po jednym przeliczeniu tylko dalej działał i pytał co chcemy wykonać;
  • załóżmy, że tworzymy grę w której jedna z postaci codziennie o 9.00 rano budzi się i je śniadanie;
  • mamy 100 różnych liczb i chcemy je wszystkie razem do siebie dodać;
  • zajmujemy się bezpieczeństwem, mamy listę 10 000 najczęściej używanych haseł w Internecie i chcemy sprawdzić, czy komputer albo aplikacja, którą się zajmujemy, akurat któregoś z tych haseł nie używa 😉

Czyli, pętle służą nam do wielokrotnego uruchomienia kodu, który znajduje się wewnątrz. Pętle wykonują się określoną ilość razy – możemy określić tę ilość lub stworzyć warunek (poprzednia lekcja). Możemy też stworzyć pętlę, która nigdy się nie skończy, chociaż z najczęściej jest to błąd programisty, który może co najmniej zawiesić nasz program.

Nawiązując do przykładu wyżej, zamiast 10 000 wpisywać ręcznie różne hasła, albo pisać 10 000 linii kodu, która robi to samo, możemy sobie stworzyć pętlę i w niej powtórzyć wybraną czynność.

Funkcja range()

O tym, czym są dokładnie funkcje powiemy dokładniej na kolejnej lekcji. Obecnie to co jest istotne, to określenie ile razy pętla ma się wykonać. Pomoże nam w tym właśnie funkcja range() – w nawiasie jako argument wpisujemy wybraną liczbę, a w odpowiedzi otrzymamy tyle liczb ile podaliśmy w argumencie (zaczynając od 0). Pozwoli nam to powiedzieć pętli ile razy ma się wykonać.

Przykład jak to działa obok.

# just an example

range(4)
# it generates 4 numbers starting from 0:
# 0, 1, 2, 3

range(8)
# it generates 8 numbers
# 0, 1, 2, 3, 4, 5, 6, 7

Pętla "for in"

Pierwszą pętlą, którą poznamy jest tak zwana pętla „for in”. Pozwala nam ona łatwo wielokrotnie wykonać kod. Co więcej daje nam dostęp do każdego z elementów w danej strukturze (dokładniej o strukturach powiemy sobie na kolejnych lekcjach).

Możemy przy niej wykorzystać wyżej wymienioną funkcję range(), która określi nam ile razy kod ma się wykonać.

Pamiętaj, że bardzo ważny jest prawidłowy zapis pętli – linię zawsze należy zakończyć znakiem dwukropka “:”, a kod, który znajduje się w pętli musi być poprzedzony tabulatorem. Linie niepoprzedzone wcięciem nie będą należeć do tej pętli, dlatego chcąc wyjść z pętli należy przejść do nowej linii i rozpocząć pisanie kodu bez wcięcia.

Oto jak zadziała nasza pętla:

# range(4) will generate: 0, 1, 2, 3
for number in range(4):
    print(number)

# result:
# 0
# 1
# 2
# 3
print('before loop')

for number in range(4):
    print('hello!')

print('after loop')

# result:
# before loop
# hello!
# hello!
# hello!
# hello!
# after loop
# we can also stop the loop manually
# using conditional statement and command: "break"

# example boolean variable that we will use as a condition
success = True

for i in range(10):
    print('code inside loop')
    if success:
        print('stop the loop')
        # it stops the loop manually
        break
else:
    print('it will be executed only')
    print('if there will be no brake in loop')

# result:
# code inside loop
# stop the loop

Pętla "while"

Innym rodzajem pętli, z której możemy skorzystać, jest pętla while. Będzie ona wykonywała się tak długo, jak jest spełniany warunek.

myNumber = 1

# as long as variable called myNumber is less than 5
# we execute this loop
while myNumber < 5:
    print(myNumber)
    # += means that we add number after that statement
    # to the current value, for example:
    # a) 1 += 1 it gives 2
    # b) 6 += 2 it gives 8
    # we use it to increase the value of the variable
    myNumber += 1

# result:
# 1
# 2
# 3
# 4

Po tej lekcji powinieneś umieć zaimplementować pętle “for in” i “while” w swoim kodzie.

Nie zapomnij polubić stronę na facebooku i zapisać się do newsletter’a aby dostać informację o kolejnych świetnych lekcjach!

Leave a reply

en_USEnglish