Tudnivalók a "while" hurkokról
Kód írásakor gyakori feladat, ha ismeretlen számú feladatot hajt végre. Ebben a leckében engedélyezni szeretné, hogy a felhasználó beírja a bolygónevek listáját. Sajnos nem tudja, hogy hány nevet ad meg a felhasználó. Az ismeretlen számú ismétlés támogatásához használhat hurkot while
.
A while
hurkok műveletet hajtanak végre, míg egy bizonyos feltétel igaz. A hurkot while
a következőre használhatja:
- Keressen egy másik sort egy fájlban.
- Ellenőrizze, hogy be van-e állítva egy jelölő.
- Ellenőrizze, hogy a felhasználó befejezte-e az értékek megadását.
- Ellenőrizze, hogy megváltozott-e valami más, amely azt jelzi, hogy a kód nem tudja végrehajtani a műveletet.
Fontos
A hurkok létrehozásakor while
a legfontosabb, hogy a feltétel megváltozhasson. Ha a feltétel mindig igaz, a Python addig futtatja a kódot, amíg a program összeomlik.
A ciklus szintaxisa while
hasonló az utasításhoz if
. Meg kell adnia egy feltételt és a futtatni kívánt kódot is, amíg a feltétel igaz.
A while
hurok három fontos részből áll:
A kulcsszó
while
, majd egy szóköz.A tesztelt feltétel. Ha a feltétel igaz, a cikluson belüli
while
kód fut.Az egyes iterációkhoz futtatni kívánt kód beágyazott szóközzel behúzva. Például:
while <condition>: # code here
Nézzük meg, hogyan hozhat létre kódot, amely arra kéri a felhasználókat, hogy adjanak meg értékeket, majd engedélyezze a beírást, amikor már beírták az értékeket. A példánkban a felhasználói bemenet a ciklus tetején while
tesztelt feltétel.
user_input = ''
while user_input.lower() != 'done':
user_input = input('Enter a new value, or done when done')
Figyelje meg, input
hogy a felhasználókat kéri. Minden alkalommal, amikor a felhasználók új értéket adnak meg, módosítják a feltételt, ami azt jelenti, hogy a while
ciklus a beírás után kilép.
Megjegyzés:
A példánkban a bemenetet kisbetűssé alakítottuk lower
, ami lehetővé teszi a kis- és nagybetűk érzéketlen összehasonlítását.
Az újonnan beírt sztringet ugyanúgy használhatja, mint a többi rögzített sztringet input
. Ha fel szeretné venni egy listába, használhatja az alábbi példához hasonló kódot:
# 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')
Figyelje meg az if
utasítást a while
hurokban. Ez az utasítás egy sztringértéket tesztel a fájlon belül user_input
. Ha a while
hurok első alkalommal fut, nincs érték, ezért nincs mit tárolni.inputs
Az első user_input
futtatás után mindig megtartja a felhasználó által megadott értéket. Mivel while
a tesztelés célja annak biztosítása, hogy az érték ne legyen egyenlő done
(a felhasználó által az alkalmazásból való kilépéshez beírt szó), tudja, hogy az aktuális érték olyan érték, amelyet hozzáadhat a listához.
Megjegyzés:
Ismerhet más olyan programozási nyelveket is, amelyek támogatják a hurkot do
, így a ciklus alján végezhet teszteket. A Python nem biztosít hurkot do
.