Het leven gaat over het nemen van de juiste beslissingen en onze programma's zijn daar niet van vrijgesteld. Uiteindelijk programmeren we iets voor een aantal aspecten van ons leven. We moeten dus de kwestie van het nemen van beslissingen in onze programma's verwachten.
Hier is waar Voorwaardelijke stellingen in het spel komen. Ze helpen ons bij het nemen van dergelijke beslissingen door de logische besturing van onze programma's. De voorwaardelijke uitspraken in Python zijn: als, elif, en anders.
Maar wat doet de voorwaardelijke verklaring? Het controleert eenvoudig of een verklaring (test) is waar of vals, op basis van welk besluit wordt uitgevoerd.
anders rechte lijn programma's waarbij de instructies worden uitgevoerd in de volgorde waarin ze worden weergegeven, vertakkingsprogramma's sta ons toe om naar instructies te navigeren ongeacht de volgorde, maar op basis van de beslissing. De voorwaardelijke verklaringen die we hierboven vermeldden, worden geacht van dit type programma's te zijn, op voorwaarde dat als een voorwaardelijke verklaring is uitgevoerd, de uitvoering van het programma doorgaat aan de code die volgt op de voorwaardelijke verklaring.
In deze sectie beschrijf ik de verschillende delen waaruit een voorwaardelijke verklaring is samengesteld. Een voorwaardelijke verklaring bestaat in principe uit de volgende hoofdonderdelen:
De voorwaardelijke verklaring in Python ziet er dus als volgt uit:
als test: code anders: code
waar test is een booleaanse uitdrukking, dat wil zeggen een uitdrukking die voor beide evalueert waar of vals. Met andere woorden, voorwaardelijke verklaringen stellen ons in staat om de waarachtigheid van een verklaring te controleren. Laten we een eenvoudig voorbeeld van de bovenstaande structuur bekijken:
x = 0 als x == 3: print 'x is gelijk aan 3' anders: print 'x is NIET gelijk aan 3' print 'That \' s it! '
Wat is de uitvoer van dit codefragment? Ga je gang, probeer het eens.
Op dit punt zou ik denk ik snel moeten noemen deuk (ruimten), die Python gebruikt in tegenstelling tot accolades in andere talen zoals C. In het bovenstaande script, wat zou er gebeuren als je de laatste schreef afdrukken
verklaring op hetzelfde niveau onder de afdrukken
verklaring hierboven (de anders
code)? Met andere woorden, als we het als volgt hebben geschreven:
anders: print 'x is niet gelijk aan 5' print 'That \' s it! '
In dit geval, print 'That \' s it! '
zal deel uitmaken van de anders
codeblok.
Dit is slechts een kort voorbeeld van inspringen, waarop Python in zijn syntaxis uitvoerig vertrouwt. Wanneer u in Python programmeert, moet u verwachten dat fouten zoals deze af en toe verschijnen als er een probleem is met uw inspringing:
IndentationError: verwacht een ingesprongen blok
De voorwaardelijke verklaring is naar verluidt genesteld als het waar blok code of vals blok van code (d.w.z. anders) bevat een andere voorwaardelijke verklaring. Laten we daar een voorbeeld van zien:
if course1 == 'Computer Science I': if course2 == 'Computer Science II': print 'student kan de Data Structures-cursus volgen' anders: print 'student mist de nodige vereisten om de Data Structures-cursus te volgen'
We hebben hier een geneste voorwaardelijke verklaring sinds de eerste als
verklaring bevat een andere als
verklaring erin. Merk opnieuw op hoe de code ingesprongen is. Dit is erg belangrijk bij het programmeren in Python.
Zoals u zich herinnert, hebben we gezegd dat het test in de conditionele statement-structuur is een Booleaanse expressie. Soms heb je misschien meer dan één Boolean-expressie nodig in dezelfde test, en dit is wat we noemen samengestelde booleaanse expressies.
Laten we een voorbeeld nemen dat het kleinste aantal van drie getallen vindt. Merk op dat de eerste test een samengestelde booleaanse uitdrukking is.
als eenIn dit voorbeeld gebruiken we de derde voorwaarde voor het eerst in deze zelfstudie
elif
, wat verwijst naar anders als.We hebben ook een Booleaanse bewerking gebruikt genaamd
en
, wat betekent dat alle uitspraken moeten zijn waar zodat de volgende instructie kan worden uitgevoerd. De boolean-bewerkingen van Python kunnen worden samengevat in de volgende tabel:
Boolean-bewerking | Omschrijving |
---|---|
of | de volgende instructie wordt uitgevoerd als een uitdrukking waar is |
en | alle uitdrukkingen moeten waar zijn voor de volgende instructie die moet worden uitgevoerd |
niet | de uitdrukking is onwaar als deze wordt geëvalueerd als waar en omgekeerd |
Als u een instructie (test) had met een combinatie van die bewerkingen, is de volgorde van prioriteit als volgt: of
draait eerst, dan en
, dan niet
.
Laten we nog een voorbeeld nemen dat laat zien hoe we boolean-bewerkingen met lijsten kunnen gebruiken:
lijst = [1,2,3,4,5] x = 13 indien x niet in lijst: print 'x staat niet in de lijst'
Kijk hoe we het hebben gebruikt niet
in dit voorbeeld? Zoals u weet, voor het codeblok in de als
statement om uit te voeren, moet de statement (boolean expression) evalueren naar waar. De verklaring evalueert oorspronkelijk naar vals in ons geval, aangezien 13 niet tot de lijst behoort. Als u het programma uitvoert, zult u echter merken dat het afdrukken
verklaring wordt uitgevoerd. Hoe is dat gebeurt? Dit gebeurde sinds we de niet
operator, die de oorspronkelijke evaluatiewaarde inverteert. In ons geval is het omgekeerd vals naar waar.
Ik weet dat je je tot nu toe hebt afgevraagd wanneer schakelaar
voorbeeld zal meegaan. Misschien als je de voorwaardelijke uitspraken in een andere programmeertaal hebt geleerd, werd je geconfronteerd met voorbeelden die de schoonheid van het gebruik aantonen schakelaar
statements. De reden dat ik geen voorbeelden van dergelijke uitspraken heb genoemd, is omdat Python dat niet heeft schakelaar
statements!
Voor meer informatie over de voorwaarden van Python, kunt u de documentatie raadplegen.