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='.')