Lesson 4
Dla pętli z zakresem
1. Dla pętli z zakresem
W poprzednich lekcjach zajmowaliśmy się programami sekwencyjnymi i warunkami. Często program musi powtarzać kilka bloków kilka razy. To tutaj przydają się pętle. Są for
i while
operatorów pętli w Pythonie, w tej lekcji pokrycia for
.
for
pętli iteruje po dowolnej sekwencji. Na przykład, każdy ciąg w Pythonie jest ciągiem jej znaków, więc możemy iteracyjne nad nimi używając for
:
for character in 'hello': print(character)
Innym przypadkiem użycia pętli for jest iteracja pewnej liczby całkowitej w porządku rosnącym lub malejącym. Taką sekwencję liczb całkowitych można utworzyć za pomocą range(min_value, max_value)
funkcji range(min_value, max_value)
:
for i in range(5, 8): print(i, i ** 2) print('end of loop') # 5 25 # 6 36 # 7 49 # koniec pętli
range(min_value, max_value)
funkcji range(min_value, max_value)
generuje sekwencję z liczbami min_value
, min_value + 1
, ..., max_value - 1
. Ostatni numer nie jest uwzględniony.
Istnieje zredukowana forma range () - range(max_value)
, w którym to przypadku min_value jest niejawnie ustawione na zero:
for i in range(3): print(i) # 0 # 1 # 2
W ten sposób możemy powtórzyć kilka akcji kilka razy:
for i in range(2 ** 2): print('Hello, world!')
Takie same jak w if-else, wgniecenia, co określa, które instrukcje są sterowane for
, a które nie.
Zakres () może definiować pustą sekwencję, np. range(-5)
lub range(7, 3)
. W tym przypadku for-blok nie zostanie wykonany:
for i in range(-5): print('Hello, world!')
Miejmy bardziej złożony przykład i sumuj liczby całkowite od 1 do n włącznie.
result = 0 n = 5 for i in range(1, n + 1): result += i # to ^ ^ jest skrótem dla # wynik = wynik + i print(result)
Należy zwrócić uwagę, że maksymalna wartość w przedziale () jest n + 1
, aby i
wynosi n w ostatnim kroku.
Aby powtórzyć sekwencję malejącą, możemy użyć rozszerzonej formy zakresu () z trzema argumentami - range(start_value, end_value, step)
. Gdy zostanie pominięty, krok jest domyślnie równy 1. Może być jednak dowolna wartość różna od zera. Pętla zawsze zawiera wartość początkową i wyklucza wartość_wartość podczas iteracji:
for i in range(10, 0, -2): print(i) # 10 # 8 # 6 # 4 # 2
2. ustawianie funkcji print ()
Domyślnie funkcjaprint()
wszystkie swoje argumenty, oddzielając je spacją i umieszcza za nimi znak nowej linii. To zachowanie można zmienić za pomocą argumentów słów kluczowych sep
(separator) i end
.print(1, 2, 3) print(4, 5, 6) print(1, 2, 3, sep=', ', end='. ') print(4, 5, 6, sep=', ', end='. ') print() print(1, 2, 3, sep='', end=' -- ') print(4, 5, 6, sep=' * ', end='.')