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.
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.
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:
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
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.
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 enI 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 tilfelle, siden 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.
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.