Informacje o pętlach "while"
Podczas pisania kodu jednym z typowych wyzwań jest wykonanie zadania o nieznanej liczbie razy. W tej lekcji chcesz zezwolić użytkownikowi na wprowadzenie listy nazw planet. Niestety, nie wiesz, ile nazw wprowadza użytkownik. Aby obsługiwać pętlę while
nieznaną liczbę razy, można użyć pętli.
Pętla while
wykonuje operację , gdy określony warunek jest spełniony. Możesz użyć while
pętli , aby:
- Sprawdź inny wiersz w pliku.
- Sprawdź, czy ustawiono flagę.
- Sprawdź, czy użytkownik zakończył wprowadzanie wartości.
- Sprawdź, czy coś innego uległo zmianie, aby wskazać, że kod może przestać wykonywać operację.
Ważne
Najważniejszą rzeczą do zapamiętania podczas tworzenia while
pętli jest zapewnienie, że warunek ulegnie zmianie. Jeśli warunek jest zawsze spełniony, język Python będzie nadal uruchamiać kod do momentu awarii programu.
Składnia while
pętli jest podobna do składni instrukcji if
. Należy podać zarówno warunek, jak i kod, który chcesz uruchomić, gdy warunek jest spełniony.
Pętla while
ma trzy ważne części:
Słowo kluczowe
while
, a następnie spacja.Warunek, który testujesz. Jeśli warunek ma wartość true, kod wewnątrz
while
pętli jest uruchamiany.Kod, który chcesz uruchomić dla każdej iteracji, wcięcie z zagnieżdżonym białym znakiem. Na przykład:
while <condition>: # code here
Zobaczmy, jak utworzyć kod, aby monitować użytkowników o wprowadzenie wartości, a następnie zezwolić im na wprowadzanie wartości po zakończeniu wprowadzania wartości. W naszym przykładzie dane wejściowe użytkownika to warunek testowany w górnej while
części pętli.
user_input = ''
while user_input.lower() != 'done':
user_input = input('Enter a new value, or done when done')
Zwróć uwagę, że używasz polecenia input
, aby monitować użytkowników. Za każdym razem, gdy użytkownicy wprowadzają nową wartość, zmieniają warunek, co oznacza, że while
pętla zakończy się po wprowadzeniu.
Uwaga
W naszym przykładzie użyto lower
metody konwersji danych wejściowych na małe litery, co umożliwia porównanie bez uwzględniania wielkości liter.
Nowo wprowadzony ciąg można użyć tak, jak każdy inny ciąg przechwycony za pomocą input
polecenia . Jeśli chcesz dodać go do listy, możesz użyć kodu podobnego do poniższego przykładu:
# Create the variable for user input
user_input = ''
# Create the list to store the values
inputs = []
# The while loop
while user_input.lower() != 'done':
# Check if there's a value in user_input
if user_input:
# Store the value in the list
inputs.append(user_input)
# Prompt for a new value
user_input = input('Enter a new value, or done when done')
Zwróć uwagę na instrukcję if
while
wewnątrz pętli. Ta instrukcja sprawdza wartość ciągu wewnątrz user_input
elementu . Jeśli pętla while
jest uruchomiona po raz pierwszy, nie ma wartości, więc nie ma nic do przechowywania w pliku inputs
. Po uruchomieniu po raz user_input
pierwszy zawsze zachowuje wartość wprowadzoną przez użytkownika. Ponieważ while
testuje, aby upewnić się, że wartość nie jest równa done
(słowo wprowadzone przez użytkownika w celu zakończenia aplikacji), wiesz, że bieżąca wartość jest wartością, którą można dodać do listy.
Uwaga
Możesz zapoznać się z innymi językami programowania obsługującymi pętlę do
, która umożliwia przeprowadzenie testu w dolnej części pętli. Język Python nie udostępnia do
pętli.