Tudnivalók a "while" hurkokról

Befejeződött

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 .