Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python: Miksi if ja elif toimivat eri tavalla?

Jokke278 [16.10.2020 13:54:30]

#

Tälläinen koodi:

 # -*- coding: cp1252 -*-

def tulostaja():
    print("Oletustulostus")

def main():
      jatku = True
      while jatku:
        syote = input("Anna syöte (Lopeta Lopettaa): ")
        if syote == "Lopeta":
            jatku = False
            break
        elif len(syote) > 4:
            print(syote)
        elif len(syote) < 5:
            tulostaja()


if __name__=="__main__":
    main()

Miksi ohjelma ei lopu "Lopeta" komennolla jos koodi on näinpäin:

if len(syote) > 4:
    print(syote)
elif len(syote) < 5:
    tulostaja()
elif syote == "Lopeta":
    jatku = False
    break

Eli "lopeta" komento on elif muodossa? Tällöin tulee vaan "Anna syöte (Lopeta Lopettaa):"

TapaniS [16.10.2020 14:07:48]

#

Tuossa syote -pituus on 6 eli ensimmäinen vertailu toteutuu. Jos ensimmäinen toteutuu, niin elif -osia ei enää suoriteta.

Jokke278 [16.10.2020 17:45:54]

#

TapaniS kirjoitti:

Tuossa syote -pituus on 6 eli ensimmäinen vertailu toteutuu. Jos ensimmäinen toteutuu, niin elif -osia ei enää suoriteta.

Aivan niinhän se on. Kiitos tästä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta