Laten we het hebben over voorwaardelijke logica, een belangrijk concept in heel het programmeren.
Wat bedoel ik met voorwaardelijke logica?
We hebben geleerd over booleans, toch?
We hebben waar en we hebben onwaar.
En sommigen van jullie vragen zich misschien af waarom ze zo nuttig zijn.
En als het gaat om voorwaardelijke logica, zijn booleans echt heel belangrijk.
Laten we bijvoorbeeld zeggen dat we een variabele maken die wordt aangeroepen.
En weet je wat, we gaan een auto maken die automatisch detecteert of je de motor kunt starten, misschien als je
niet oud genoeg bent, de motor niet start en je niet kunt laten rijden, zodat ze zeker dat deze
auto superveilig is en dat alleen mensen die misschien ouder zijn dan 18 erin kunnen rijden.
Dus hoe kunnen we zoiets coderen?
Laten we aannemen dat Tesla een nieuwe functie heeft zoals de.
Wel, we hebben zoiets als is oud en we zetten dit op.
Waar, toch?
Misschien hebben we iets anders, misschien controleert het de licentie om er zeker van te zijn dat we een licentie hebben, zodat we
kunnen zeggen dat het een licentie is.
En dan kunnen we het op true zetten.
Dit kan nu veranderen.
Waar en niet waar, afhankelijk van de gebruiker en de bestuurder, maar als ik het
heb over conditionals, dit is wat ik bedoel in Python, kunnen we het if-sleutelwoord gebruiken om te zeggen of er een voorwaarde bestaat.
En dit ben ik die het schrijf, het bestaat niet.
U kunt dus zien dat ik een lees- en onderstreping krijg met ongeldige syntaxis.
Maar hier willen we zeggen een voorwaarde die evalueert naar waar of onwaar.
In ons geval kunnen we zeggen, hé, als dit oud is, wat evalueert het dan te goed tot
waar.
Als dat waar is, laten we zeggen afdrukken.
Je bent oud genoeg om te rijden.
Nu zijn er een paar nieuwe dingen hier.
Ten eerste heb ik een puntkomma of een dubbele punt toegevoegd.
En dan zie je hier dat de inspringing anders is.
Inderdaad, als ik op enter druk.
Na de Callon, zie je dat het me automatisch een spatie geeft, dit vertelt de Python-interpreter,
ik ga een if-statement doen, een voorwaardelijke operatie, en als dit waar is, voer dan alles uit
wat hier binnen is deze inkeping.
En als ik iets doe zonder de inkeping, laten we zeggen afdrukken.
Check check.
Dit is voor de Python-interpreter als een compleet nieuwe regel.
Het maakt geen deel uit van dit F-blok en als je de rimpel gebruikt die je hier ziet, krijg ik een
klein minteken, vecht, klik hierop.
Je ziet hoe het zich verbergt.
Wel, wat het doet is dat het zegt, hey, dit is een codeblok hier,
het is een heel ding op zich, maar alles wat daarbuiten niet goed ingesprongen is, hoort er niet bij.
Dus voor een Python-interpreter zal het zeggen: ik heb deze regel en dan heb ik deze regel.
Laat me je laten zien wat ik bedoel als ik dit programma uitvoer.
Ik snap dat je oud genoeg bent om te rijden en dan krijg ik ook check, check.
Maar wat als ik zeg dat oud nu vals is?
Wat denk je dat er gaat gebeuren?
Als ik dit uitvoer.
Ik krijg cheque, cheque.
Onze Python-interpreter gaat zeggen, hey, set variable is old to false, hey, dat is gelicentieerd is gelijk aan
true en dan gaat het naar regel drie.
Nee, niets daar.
Ik blijf doorgaan als hey, als het oud is.
Is dit waar.
Nee.
Als dit allemaal onwaar is en de tolk gaat zeggen: OK, ik hoor dit stukje code alleen uit te
voeren als dit waar is, want dit is nu onwaar, dan negeer ik volledig wat eronder staat en ga ik gewoon
naar de volgende regel die, nou ja, geen inspringing heeft.
Dus het gaat printen, check, check.
En dit is de kracht van conditionals.
We kunnen in wezen lijnen overslaan.
Het kan de tolk niet eens schelen wat hier staat, want ik heb net tegen mijn programma gezegd dat ik van regel vier naar regel
zes moet gaan.
Hoe cool is dat?
Dus we hebben geleerd dat er een if-sleutelwoord is, maar er is ook iets anders dat we anders kunnen gebruiken, en je zult hier opmerken dat
ik dat deed en aan de inspringing toevoegde.
En anders, zoals de naam al doet vermoeden, zegt het gewoon.
Hé, als dit iets waar is, doe dit dan anders ook anders doe dit en nog een keer, je ziet dat ik de
inspringing heb toegevoegd.
Probeer dus te raden wat er in dit programma gaat gebeuren als ik op uitvoeren klik.
Ik krijg cheque, cheque omdat het zegt, hey, is old, is dat waar?
Nee, dat is niet waar.
OK, ik ga volledig negeren dat de tolk anders ziet.
Oké, dit was niet waar.
Dus ik ga uitvoeren wanneer dit evalueert naar onwaar, ik ga altijd uitvoeren, afdrukken, controleren, controleren.
Wat als ik verander is oud tot nu gelijk aan waar?
Wat zal er daarna gebeuren?
We zullen.
Ik begrijp dat je oud genoeg bent om te rijden.
Else wordt alleen uitgevoerd als het codeblok als onwaar is.
Heel erg cool.
Oké, laat me je nog een vraag stellen, wat als ik hier zou printen?
En laten we dit veranderen naar u bent niet meerderjarig.
Als ik dit uitvoer.
Is dat wat je verwachtte?
Nou, ik hoop dat je het er nu mee eens bent dat dit het verwachte gedrag is, want oud is waar.
Ik ga dit afdrukken en dan zal Python-interpreter zeggen, nou, dit was waar.
Dus ik ga het else-blok volledig negeren en ga dan gewoon naar de volgende regel.
Wat is er op lijn acht?
Niks.
Dus ik ga naar regel negen en ik ga afdrukken.
Oke oke.
OKE.
Zoals je kunt zien, beheersen we nu de stroom van onze programma's, in plaats van regel voor regel van één naar negen te
gaan, zeggen we nu een regel om een soort controle uit te voeren.
En sla op basis daarvan een paar regels over.
Heel erg cool.
Oké, er is nog iets dat ik je wil laten zien, en het is de L als.
En ik weet dat dit er raar uitziet, je zou denken dat het anders zou zijn als maar nee, nee, nee.
Het is F.
En wat denk je dat dit doet?
Nou, je gebruikt het in combinatie met als je iets zegt.
Als het anders is, anders, als een andere voorwaarde, laten we zeggen, is toegestaan.
Doe dan een andere voorwaarde, dus laten we zeggen print, je kunt nu rijden.
Dus laten we dit nog eens doornemen.
Ik ga zeggen, is deze persoon oud genoeg als die persoon oud genoeg is en dit evalueert naar waar, nou, dan wil ik dat
je dat doet.
Voer dit anders uit.
Ik wil dat je deze toestand uitvoert, hé, is dit waar?
Nee, als het niet waar is, ga dan naar anders.
Dus wat gebeurt er hier als ik op uitvoeren klik?
We worden waar voor het eerste voorwaardelijke blok hier, dus automatisch zegt de Python-interpreter: nou, we zijn
hier net door, dus ik negeer dit en negeer dit en druk dan
af, oké?
OKE.
Maar laten we zeggen dat oud nu vals is.
Wat gebeurt er als ik op uitvoeren klik?
Dit is niet waar, dus de Python-interpreter gaat zeggen, nee, ik geef niets om dit blok
en ik ga, hey anders, als ik conditioneer. Hé, heeft deze persoon een licentie?
Ja, dat zijn ze.
Dus ik ga printen.
Je kunt nu rijden en negeren of anders.
Het werkt dus zo.
Wat als deze beide onwaar waren?
Nou, zoals je je kunt voorstellen, zal de Python-interpreter dit negeren, dit zegt nee, dit is
onwaar.
Dit nee, dit is vals.
En dan eindelijk, het gaat dit draaien.
Je ziet dat anders een addertje onder het gras is.
Dat wil zeggen, als geen van deze voorwaarden waar is, dan gaan we dit gewoon uitvoeren.
Dus het is in zekere zin een back-up.
Hé, als alle dingen mislukken, doe dan gewoon dit.
Heel erg cool.
Als je naar dit programma kijkt, denk je dat dit programma niet zo goed werkt, toch?
Ik bedoel, we controleren of de persoon oud is en of een persoon een vergunning heeft.
Maar moeten we niet beide controleren?
We willen iemand met een vergunning en die oud genoeg is om te drogen.
Hm.
Dit is een programma met fouten.
Als we dit in een Tesla implementeren, dan krijgen we veel rechtszaken, toch.
Omdat we iemand kunnen krijgen die misschien een vergunning heeft maar niet oud genoeg is, wat volgens mij niet logisch is.
Maar we kunnen iemand krijgen die oud genoeg is maar nooit zijn rijbewijs heeft.
En op de een of andere manier krijgen we toegang tot de auto en kunnen ze de motor starten en naar binnen rijden.
Oh, dat is een rechtszaak die wacht om te gebeuren.
Dus hoe kunnen we dit oplossen?
Je weet wat de kracht is dat dit een uitdrukking is, toch?
Een uitdrukking is, als u zich dat herinnert, iets dat een waarde produceert.
En dat betekent dat dit niet, weet je, gewoon waar hoeft te zijn, het zou een uitdrukking kunnen zijn.
Dus ik zou kunnen zeggen als dat zo is.
Oud.
En heeft een vergunning.
Dan kan ik dat doen, en dit is iets nieuws dat we voor het einde nog niet hebben gezien, dit is
een ander sleutelwoord in Python.
En in een komende video gaan we het hebben over meer van deze zoekwoorden.
Maar dit zou als Engels moeten zijn, toch?
Als het oud is en een licentie heeft, doe dit dan zodat we de L. F..
En dan hier.
Beide uitdrukkingen moeten naar waar worden geëvalueerd, dat is wat er hier ook gebeurt, dit moet worden geëvalueerd tot
waar en dit moet worden geëvalueerd tot waar en alleen als beide weer waar zijn als en staten, dan ben je oud
genoeg om te rijden en heb je een vergunning.
Zodat als ik dit uitvoer.
Nou, ik krijg een foutenpercentage omdat het wel of niet een fout is, maar het gaat naar het else-blok omdat beide
onwaar zijn.
Als er maar één waar is en ik klik op uitvoeren.
Je bent niet meerderjarig, want beide moeten waar zijn.
Als ik klik, ren dan weg.
Hé, oké, de auto start, je kunt wegrijden met je Tesla.
OK, voordat ik deze video afrond, omdat dit veel is, wil ik nog één ding opmerken,
namelijk de L if-statement.
Het live-statement is echt heel handig, want als je een code als deze hebt, heb je een
IF-statement en een El-statement.
Meestal zie je er maar één van elk.
Ik bedoel, zeker, in een ander deel van het programma zou ik nog een if-statement en een
if-statement kunnen hebben met nog een valse statement in je.
Maar als je deze groepering bij elkaar hebt, zie je meestal maar één F en één andere, maar je
kunt meerdere LFS hebben.
Dus ik kan L hebben. F. hier nog een aandoening en dan kan ik nog een L hebben. F. , een andere voorwaarde hier en
je kunt er zoveel hebben als je wilt.
Uiteindelijk zal het een van deze voorwaarden evalueren als waar of het gaat naar het
else-blok.
Maar meestal volg je deze volgorde.
Goed, dat was veel.
Laten we een pauze nemen en dit onderwerp wat meer verkennen.
Ik zie wel in de volgende, Pabai.