En jevn forfriskning på Pythons betingede uttalelser

Livet handler om å ta de riktige avgjørelsene, og våre programmer er ikke unntatt fra det. Vel, til slutt programmerer vi noe for noen aspekter av våre liv. Vi må derfor forvente å ta beslutninger i våre programmer.

Her er hvor betingede uttalelser komme inn i spill. De hjelper oss med å ta slike beslutninger ved logikkkontrollen av våre programmer. De betingede utsagnene i Python er: hvis, elif, og ellers.

Men hva gjør det betingede utsagnet? Det kontrollerer bare om en erklæring (test) er ekte eller falsk, basert på hvilken avgjørelse som gjennomføres.

Forgreningsprogrammer

I motsetning til rett linje programmer hvor utsagnene utføres i den rekkefølgen de vises i, forgreningsprogrammer Tillat oss å navigere til uttalelser uavhengig av bestillingen, men basert på beslutningen. De betingede utsagnene vi nevnte ovenfor anses å være av denne type programmer, forutsatt at hvis en betinget erklæring er utført, fortsetter programkjøringen ved koden som følger betingelseserklæringen.

Betinget erklæring struktur 

I denne delen vil jeg beskrive de forskjellige delene som en betinget erklæring består av. En betinget erklæring består i utgangspunktet av følgende hoveddeler:

  • en test som vurderer til heller ekte eller falsk
  • en blokk med kode som går hvis testen er ekte
  • en valgfri blokk kode hvis testen er falsk

Det betingede utsagnet i Python ser således ut som følger:

hvis test: kode annet: kode

hvor test er et boolesk uttrykk, det vil si et uttrykk som vurderer til heller ekte eller falsk. Med andre ord, betingede uttalelser tillater oss å sjekke sannheten i noe utsagn. La oss se et enkelt eksempel på strukturen ovenfor:

x = 0 hvis x == 3: print 'x er lik 3' annet: print 'x er IKKE lik 3' print 'That's it!'

Hva er utdataene fra denne kodestykket? Fortsett, prøv det.

På dette punktet synes jeg jeg bør nevne fort om innrykk (mellomrom), som Python bruker i motsetning til braces på andre språk som C. I det ovennevnte skriptet, hva ville skje hvis du skrev sist skrive ut uttalelse på samme nivå under skrive ut erklæring ovenfor ( ellers kode)? Med andre ord, hvis vi skrev det som følger:

ellers: skriv ut 'x er ikke lik 5' print 'Det er det!'

I dette tilfellet, skriv ut 'Det er det!' vil være en del av ellers kode blokk.

Dette er bare et raskt eksempel på innrykk, som Python stoler på i sin syntaks. Når du programmerer i Python, bør du forvente at feil som dette kommer opp noen ganger når det er et problem med innrykket ditt:

Indrykksrisiko: forventet en innrykket blokk 

Nestede betingede uttalelser

Den betingede utsagnet sies å være nestet hvis ekte blokk med kode eller falsk kodebrikke (dvs. annet) inneholder en annen betinget setning. La oss se et eksempel på det:

hvis kurs1 == 'Computer Science I': hvis course2 == 'Computer Science II': print 'student kan ta Data Structures kurset' ellers: print 'student mangler de nødvendige kravene til å ta Data Structures kurset' 

Vi har her en nestet betinget erklæring siden den første hvis setningen inneholder en annen hvis uttalelse inne i det. Merk igjen hvordan koden er innrykket. Dette er svært kritisk når du programmerer i Python.

Sammensatte boolske uttrykk

Som du husker, har vi nevnt at test i den betingede setningsstrukturen er et boolesk uttrykk. Noen ganger kan du trenge mer enn ett booleske uttrykk i samme test, og dette er det vi kaller sammensatte boolske uttrykk

La oss ta et eksempel som finner det minste antallet tre tall. Legg merke til at den første testen er et sammensatt boolesk uttrykk.

hvis en

I dette eksemplet bruker vi den tredje betingede utsagnet for første gang i denne opplæringen, det vil si elif, som refererer til eller hvis.

Vi har også brukt en boolsk operasjon som heter og, som betyr at alle utsagnene må være ekte for at følgende setning skal løpe. Pythons boolske operasjoner kan oppsummeres i følgende tabell:

Boolsk operasjon Beskrivelse
eller Følgende setning kjører hvis noe uttrykk er sant
og alle uttrykkene må være sanne for at følgende erklæring skal løpe
ikke uttrykket er falskt hvis det vurderes til ekte og omvendt

Hvis du hadde en uttalelse (test) med en blanding av disse operasjonene, er prioriteringsordningen som følger: eller kjører først da og, deretter ikke.

La oss ta et annet eksempel som viser hvordan vi kan bruke boolske operasjoner med lister:

list = [1,2,3,4,5] x = 13 hvis x ikke er i listen: skriv ut 'x er ikke på listen'

Se hvordan vi brukte ikke i dette eksemplet? Som du vet, for koden blokk i hvis uttalelse for å løpe, bør setningen (boolesk uttrykk) evaluere til ekte. Erklæringen vurderer opprinnelig til falsk i vårt tilfellesiden 13 tilhører ikke listen. Hvis du kjører programmet, vil du imidlertid legge merke til at skrive ut erklæringen kjøres. Hvordan skjedde det? Dette skjedde siden vi brukte ikke operatør, som inverterer den opprinnelige evalueringsverdien. I vårt tilfelle er det invertert falsk til ekte.

Python og Switch?

Jeg vet at du kanskje har lurt til nå om når a bytte om eksempel vil komme med. Kanskje hvis du lærte de betingede utsagnene i et annet programmeringsspråk, ble du konfrontert med eksempler som viste skjønnheten i å bruke bytte om uttalelser. Grunnen til at jeg ikke har nevnt eksempler på slike uttalelser, er fordi Python ikke har det bytte om uttalelser!

For mer informasjon om Pythons forhold, kan du se dokumentasjonen.