Python ja vertailu

Anonyymi-ap

Ohjelma kysyy lukua. Sallitut arvot ovat kokonaislukuja nolla ja siitä ylöspäin.

Kuinkas tuohon nyt saa rakennettua ehdon jolla arvoa kysytään uudestaan mikäli käyttäjä onkin syöttänyt vaikkapa kirjaimen tai liukuluvun?

Kun input-lauseelle annettu vastaus tallentuu muuttujaan stringinä. Mikäli muuttujan tyyppi määrittyisi annetun vastauksen perusteella olisi helppoa vain vertailla tyyppejä...

3

122

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      kuten sanoit, input() palauttaa aina merkkijonon, sinun täytyy itse tarkistaa, onko se muunnettavissa kokonaisluvuksi, ja sitten vielä, että se on vähintään nolla.

      Voit käyttää esimerkiksi try-except-rakennetta näin:

      python
      while True:
      vastaus = input("Anna kokonaisluku, joka on vähintään nolla: ")
      try:
      luku = int(vastaus)
      if luku >= 0:
      break # kelvollinen syöte, poistutaan silmukasta
      else:
      print("Luku ei voi olla negatiivinen.")
      except ValueError:
      print("Et antanut kokonaislukua.")
      Tässä:

      int(vastaus) yrittää muuntaa syötteen kokonaisluvuksi.

      Jos syöte on vaikkapa 5.5 tai abc, se aiheuttaa ValueErrorin ja ohjelma pyytää syötettä uudestaan.

      Jos syöte on esimerkiksi -3, muunnos onnistuu, mutta ehdossa huomataan ettei se kelpaa.

      • Anonyymi

        Kiitoksia paljon! :)


      • Anonyymi
        Anonyymi kirjoitti:

        Kiitoksia paljon! :)

        Kiitä tekoälyä.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. En tullut, koska käytit päätäsi.

      Ja koska ihmiset pilaavat sillä mahdollisuudet, kaikki mikä toimii vaatii oman lähestymistapani. Kun levittää punaisia m
      Ikävä
      37
      2726
    2. Miten kaivattusi teki sinuun lähtemättömän vaikutuksen?

      Minulla kävi niin, että hän laittoi ruokaa, kun olin nälkäinen. Tie miehen sydämeen käy vatsan kautta.
      Ikävä
      89
      1174
    3. Alkon myynti putosi kesäkuussa 10 prosenttia

      Niin se hallitus tuhoaa valtion verokertymää ylisuurella alkoholiverolla, kun kansalaiset hankkivat juomansa ulkomailta.
      Maailman menoa
      127
      969
    4. Oliko mies vetäytyminen

      Toimiva veto? Miten meille kävi. Ei hyvin ja mahdottomalta tuntuu tilanne nyt.
      Ikävä
      60
      940
    5. Mitä söitte Hänen kanssaan yhdessä viimeksi?

      Tällainen vihjeketju:)
      Ikävä
      66
      907
    6. Ulosotossa olevan tulisi saada itse päättää

      Maksetaanko hänen ulosotossa olevia velkoja takaisin yksi kerrallaan vai ripotellen pikku summia sinne tänne, kuten ulos
      76
      858
    7. Oon tässä pohtinut että se nainen

      Ei sovi sulle. Ihmetyttää mitä näet hänessä. Mieheltä miehelle
      Ikävä
      70
      805
    8. EU:lta tyly ratkaisu Temulle

      On se hyvä, että EU on vihdoin ja viimein puuttunut noiden Kiinan krääsän kauppiaiden toimintaan. https://www.is.fi/ta
      Maailman menoa
      99
      802
    9. Nainen on ihana

      ilta-päivää tosi söpölle naiselle 🤗😘☺ Jos saisin sinut nainen oisin onnellisin mies Etpäs tiedäkään keneltä tämä on?
      Ikävä
      25
      708
    10. Hallinto-oikeus kumosi valtuuston päätöksiä

      Teksti-tv kertoo, että valtuuston päätöksentekoon on osallistunut varavaltuutettu jolla ei ollut oikeutta osallistua. Mi
      Ähtäri
      30
      684
    Aihe