Spis treści:
- pętla while,
- pętla for,
- zadania.
Poprzednia lekcja: Lekcja 3 (warunki)
Następna lekcja: Lekcja 5 (konwersje systemów liczbowych, zapis liczb ujemnych w systemie binarnym)
Pętle, czyli iteracje, ułatwiają wielokrotne wykonanie bloku instrukcji.
Podstawową pętlą w języku Python jest pętla while. Jej składnia pętli while:
Przykład użycia:
a teraz najprostszy sposób wyszukiwania pierwiastka 2-go stopnia:
oczywiście nic nie stoi na przeszkodzie by do pierwiastkowania liczb w Pythonie używać operatora potęgowania. Powyższy przykład ma na celu zobrazowanie działania pętli. Poniżej prezentacja użycia operatora potęgowania:
Drugą z pętli używanych w języku Python jest pętla for. Jest ona odpowiednikiem foreach z PHPa. Służy ona do przeglądania kolekcji np. tablic.
Wspomniałem wcześniej o instrukcji break. Jest to instrukcja, która potrafi przerwać pętlę, w której została umieszczona.
Powyższa pętla zostanie zatrzymana po osiągnięciu przez zmienną i wartości 10.
Drugą instrukcją pozwalającą na manipulowanie pętlami jest instrukcja continue. Powoduje ona zakończenie danego przebiegu pętli i rozpoczęcie kolejnego.
Poprzednia lekcja: Lekcja 3 (warunki)
Zadanie
1. Metodą połowienia (bisekcji) znajdź miejsce zerowe funkcji liniowej
f(x) = ax + b
a i b są podawane przez użytkownika. Miejsca zerowego szukaj w przedziale x [0,10]. Jeżeli nie znajduje się w tym przedziale miejsce zerowe wypisz BRAK w przeciwnym razie wypisz współrzędna x miejsca zerowego danej funkcji. Przyjmij dokładność wyliczeń eps = 0.001.
Podpowiedź: Pierwiastek kwadratowy (metoda połowienia)
2. Przyjmijmy, że Adam wziął kredyt na 3000pln. Oprocentowanie kredytu w skali roku wynosi 20%. Adam będzie spłacał kredyt w 12 ratach (co miesiąc). Spłata kredytu będzie odbywać się zgodnie z poniższymi wzorami:
dlug = 3000
oprocentowanieRoczne = 0.2
rata = dlug / 12
oprocentowanieMiesieczne = oprocentowanieRoczne/12
co miesiąc:
doZaplaty = rata + dlug * oprocentowanieMiesieczne
dlug = dlug - rata
Jaka będzie wysokość najniższej miesięcznej raty (wraz z oprocentowaniem) i ile w sumie będzie musiał oddać bankowi Adam?
Poprzednia lekcja: Lekcja 3 (warunki)
- pętla while,
- pętla for,
- zadania.
Poprzednia lekcja: Lekcja 3 (warunki)
Następna lekcja: Lekcja 5 (konwersje systemów liczbowych, zapis liczb ujemnych w systemie binarnym)
Pętle, czyli iteracje, ułatwiają wielokrotne wykonanie bloku instrukcji.
Podstawową pętlą w języku Python jest pętla while. Jej składnia pętli while:
while warunek:
blokInstrukcji_1
else:
blokInstrukcji_2
Pierwszy blok instrukcji będzie wykonywany dopóki warunek będzie zwracał wartość True (gdy warunek będzie spełniony). Gdy w warunek zwróci wartość False program przejdzie do wykonania drugiego bloku instrukcji i wyjdzie z pętli. Gdyby pętla została przerwana instrukcja break drugi blok instrukcji nie zostałby wykonany ani razu.Przykład użycia:
1 2 3 4 5 6 | i = 10 while i > 0: print str(i), i = i - 1 else: print "zero" |
a teraz najprostszy sposób wyszukiwania pierwiastka 2-go stopnia:
1 2 3 4 5 6 | n = 9 k = 0.01 while k * k < n: k += 0.01 print "znaleziono pierwiastek kwadratowy liczby", str(n), "i wynosi on", k print "[dokładnosc wyniku eps = 0.01]" |
oczywiście nic nie stoi na przeszkodzie by do pierwiastkowania liczb w Pythonie używać operatora potęgowania. Powyższy przykład ma na celu zobrazowanie działania pętli. Poniżej prezentacja użycia operatora potęgowania:
1 2 | print 9 ** (1.0/2.0) print 8 ** (1.0/3.0) |
Drugą z pętli używanych w języku Python jest pętla for. Jest ona odpowiednikiem foreach z PHPa. Służy ona do przeglądania kolekcji np. tablic.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | slowo = "Ala ma kota" for litera in slowo: print litera, print "\n-----------------------------------------" for i in range(1,3): print i, print "\n-----------------------------------------" for x in xrange(1, 11): for y in xrange(1, 11): print '%3d' % (x*y), print print "\n-----------------------------------------" macierz = [ [1, 2, 3], [4, 5, 6], [7, 8, 9]] for linia in macierz: print "|", for element in linia: print "%5d" % element, print "%5s" % "|" print "\n-----------------------------------------" macierz = [ [1, 2, 3], [4, 5, 6], [7, 8, 9]] for linia in macierz: print "|", for element in linia: print '{0: <5}'.format(element), print '{0: >5}'.format("|") print "\n-----------------------------------------" |
Wspomniałem wcześniej o instrukcji break. Jest to instrukcja, która potrafi przerwać pętlę, w której została umieszczona.
1 2 3 4 | for i in xrange(1,100): if(i>=10): break print i, |
Powyższa pętla zostanie zatrzymana po osiągnięciu przez zmienną i wartości 10.
Drugą instrukcją pozwalającą na manipulowanie pętlami jest instrukcja continue. Powoduje ona zakończenie danego przebiegu pętli i rozpoczęcie kolejnego.
1 2 3 4 | for i in xrange(1,100): if(i<90): continue print i, |
Poprzednia lekcja: Lekcja 3 (warunki)
Zadanie
1. Metodą połowienia (bisekcji) znajdź miejsce zerowe funkcji liniowej
f(x) = ax + b
a i b są podawane przez użytkownika. Miejsca zerowego szukaj w przedziale x [0,10]. Jeżeli nie znajduje się w tym przedziale miejsce zerowe wypisz BRAK w przeciwnym razie wypisz współrzędna x miejsca zerowego danej funkcji. Przyjmij dokładność wyliczeń eps = 0.001.
Podpowiedź: Pierwiastek kwadratowy (metoda połowienia)
2. Przyjmijmy, że Adam wziął kredyt na 3000pln. Oprocentowanie kredytu w skali roku wynosi 20%. Adam będzie spłacał kredyt w 12 ratach (co miesiąc). Spłata kredytu będzie odbywać się zgodnie z poniższymi wzorami:
dlug = 3000
oprocentowanieRoczne = 0.2
rata = dlug / 12
oprocentowanieMiesieczne = oprocentowanieRoczne/12
co miesiąc:
doZaplaty = rata + dlug * oprocentowanieMiesieczne
dlug = dlug - rata
Jaka będzie wysokość najniższej miesięcznej raty (wraz z oprocentowaniem) i ile w sumie będzie musiał oddać bankowi Adam?
Poprzednia lekcja: Lekcja 3 (warunki)
Komentarze