Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Ehtolausekkeet | Ehtolauseet
Johdatus Pythoniin
Osio 3. Luku 5
single

single

bookEhtolausekkeet

Pyyhkäise näyttääksesi valikon

Tässä luvussa perehdytään yhteen Python-ohjelmoinnin perustavanlaatuisimmista osa-alueista — ehtoilmauksiin, joissa käytetään if-, else- ja elif-operaattoreita.

Näiden operaattoreiden avulla voidaan suorittaa eri koodilohkoja tiettyjen ehtojen perusteella, mikä mahdollistaa ohjelmien dynaamisen päätöksenteon. Näiden ilmausten ymmärtäminen on olennaista sovellusten kehittämisessä, jotta ne voivat reagoida tehokkaasti erilaisiin syötteisiin ja tilanteisiin.

Katso, kuinka Alex havainnollistaa näiden ehtoilmausten monipuolisuutta:

if-lause arvioi ehdon ja suorittaa koodilohkon, jos ehto on True. Jos ehto ei ole True, else- ja elif-lauseet (lyhenne "else if") määrittelevät lisäehtoja, joiden perusteella suoritetaan muu koodi.

Näin ne toimivat:

if

Ensisijainen ehtolause arvioi, onko ehto True. Se aloittaa ehtosarjan. if-lause voi esiintyä vain kerran sarjan alussa. Jos ehto on True, sisennetty koodilohko if-lauseen jälkeen suoritetaan.

elif

Lyhenne "else if", elif-lause tarjoaa lisäehtoja, joita tarkistetaan, jos alkuperäinen if tai aiemmat elif-ehdot olivat False. Voit käyttää useita elif-lauseita if-lauseen jälkeen käsitelläksesi erilaisia tilanteita, jokaisella oma ehtonsa.

else

Toimii yleisehtona tapauksille, joita edeltävä if ja elif eivät kata. Sarjassa voi olla vain yksi else-lause lopuksi, eikä se vaadi ehtoa if.

Esimerkkisovelluksia

Aloitetaan yksinkertaisella if / else-lauseella, jolla tehdään päätös yhden ehdon perusteella. Tässä pyritään selvittämään, tarvitseeko elintarviketuote täydentämistä nykyisen varastotason perusteella:

12345678
# Stock level of an item stock_level = 15 # Simple `if`/`else` to check stock levels if stock_level < 20: print("Stock is low") else: print("Stock is okay")
copy

Tämä vuokaavio havainnollistaa päätöspolkuja, joita Python-tulkki käyttää edellisessä if-else-esimerkissä:

Seuraavaksi hyödynnetään elif-lausetta hieman monimutkaisemmassa sovelluksessa. Tässä sovelluksessa käytetään if / elif / else -lauseita alennusprosenttien soveltamiseen kokonaiskustannusten perusteella suurempien ostosten kannustamiseksi.

12345678910
# Initial conditions totalCost = 150 # Applying discounts based on purchase amount if totalCost >= 200: print("20% discount applied") elif totalCost >= 100: print("10% discount applied") else: print("No discount for purchases under $100")
copy

Tämä vuokaavio havainnollistaa alennusten soveltamisprosessia kokonaiskustannusten perusteella käyttäen if, elif, else -lauseita:

Seuraavassa sovelluksessa esitellään sisäkkäiset if-else-ehdot, joiden avulla havainnollistetaan yksityiskohtaisempaa päätöksentekoprosessia. Sisällyttämällä yksi if-else-rakenne toisen sisään voidaan tehdä useita päätöksiä useiden kriteerien perusteella.

Tämä käytännön esimerkki havainnollistaa, miten ruokakauppa voi hallita varastoaan tuotetyypin ja erityisehtojen, kuten toimituspäivien määrän tai varastotason, perusteella.

123456789101112131415161718
# Initial conditions product = 'Non-Perishable' stock = 70 daysDelivered = 3 # Determine the handling of products based on type and condition if product == 'Perishable': if daysDelivered >= 4: print("Not fresh - Initiate discount") else: print("Product is fresh") elif product == 'Non-Perishable': if stock > 100: print("Consider discount") else: print("No discount needed") else: print("The product is not specified")
copy

Seuraava päätöspuukaavio havainnollistaa visuaalisesti aiemmassa esimerkissä käytettyä sisäkkäistä if-else-logiikkaa:

Syntaksihuomioita

Kun kirjoitat ehtolauseita Pythonissa, tiettyjen syntaksisääntöjen noudattaminen on olennaista. Olet ehkä huomannut, että kaksoispisteen : ja sisennyksen merkitys on ratkaiseva toimivien ehtojen luomisessa.

Tarkastellaan näiden yksityiskohtien roolia:

Kaksoispisteet

Ajattele kaksoispistettä if-, elif- tai else-lauseen lopussa merkkinä, joka ilmaisee: "Tässä on seuraavat ohjeet, jos juuri mainitsemani ehto toteutuu." Kaksoispiste toimii opasteena, joka selkeästi osoittaa, mistä ohjeet alkavat.

Sisennys

Kun sisennetyn koodilohkon yläpuolella oleva ehto on True, kaikki sen alla olevat sisennetyt koodirivit suoritetaan. Jos ehto ei ole True, Python ohittaa nämä vaiheet ja etsii seuraavaa ehtoa.

Vaikka nämä saattavat vaikuttaa pieniltä yksityiskohdilta, ne ovat olennaisia, jotta koodisi suorittuu oikein. Kun tutustut Pythonin käyttöön tarkemmin, näistä käytännöistä tulee sinulle luontevia.

Erinomaista työtä Pythonin perusasioiden omaksumisessa! Ymmärryksesi ohjausrakenteiden oikeasta jäsentelystä luo vahvan pohjan monimutkaisempien ohjelmointitehtävien ratkaisemiselle. Seuraavaksi voit testata uusia taitojasi kattavassa haasteessa, jossa pääset soveltamaan oppimaasi käytännössä.

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Luo yksinkertainen alennusjärjestelmä ruokakaupalle, joka tulostaa alennukset tuotetyypin ja viikonpäivän perusteella.

  1. Käytä annettuja muuttujia

    • product_type
    • day_of_week
  2. Sovella ehtolauseita

    • Jos product_type on Fruits ja day_of_week on Monday, tulosta
      10% discount on Fruits today!
    • Jos product_type on Vegetables ja day_of_week on Tuesday, tulosta
      15% discount on Vegetables today!
    • Jos product_type on Dairy ja day_of_week on Wednesday, tulosta
      20% discount on Dairy today!
    • Jos product_type on Other, tulosta
      No discount available.
    • Muussa tapauksessa tulosta
      No special discounts today.

Tulostusvaatimukset

  • Ohjelman tulee tulostaa täsmälleen yksi rivi syötteiden perusteella.
  • Esimerkkejä kelvollisista tulosteista
    • 10% discount on Fruits today!
    • 15% discount on Vegetables today!
    • 20% discount on Dairy today!
    • No discount available.
    • No special discounts today.

Vinkki:
Käytä if-, elif- ja else-lauseita vertaillaksesi molempia muuttujia samanaikaisesti, esimerkiksi
if product_type == "Fruits" and day_of_week == "Monday":

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt