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

271

    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 minä kyllä enää odota sinua

      Olet siellä sen harmaan kanssa. Niin, annoit minun nähdä lämpimät tunteesi siitä huolimatta. Se merkitsi kyllä paljon. O
      Ikävä
      49
      2378
    2. Kehutaan vaihteeksi Perussuomalaisia

      Perussuomalaiset ovat olleet melkoisen lokakampanjoinnin kohteena, vaikka ovat saaneet paljon hyvää aikaiseksi. Nyt on
      Maailman menoa
      53
      2157
    3. Joka kolmas työtön on työkyvytön

      Viime vuonna työnhakuvelvoitteen ulkopuolella oli noin kolmannes työttömistä työnhakijoista. Huhheijaa, mihin suomalais
      Maailman menoa
      207
      1676
    4. Jos joku luulee että kaikki käy

      Sanon vain tämän. Minun kanssani ei neuvotella. Minun kanssani eletään tasavertaisesti. Jos se on liikaa, niin ovi rinn
      Ikävä
      68
      1630
    5. Niin surullinen

      onnettomuus taas. Voimia ihan kaikille läheisille,kavereille ja kouluun 🙏
      Lapua
      31
      1614
    6. Paloautoko se oli kolarissa Juntusrannan risteyksessä?

      Oli kuva paloautosta nettijutussa.
      Suomussalmi
      18
      1449
    7. Sakin hivutus - ilmiö

      Miten tuollainen tuollainen ilmiö kuin ”sakin hivutus” syntyy? Mitä syitä ilmiön syntymiseen tarvitaan? Onko sakissa jok
      80 plus
      86
      1394
    8. Roiskeläpät takaisin niin alkaa lasit kestämään

      "Tuulilaseja hajottava talvi-ilmiö on ehkä ratkennut" Tämän päivän autoissa kun on esimerkiksi vanhempaa autokalustoa s
      Yleistä autoilusta
      8
      1379
    9. Ei ole rohkeutta tulla jututtamaan

      Voidaan me nähdä ja tervehtiä, sitäkin harvoin, mutta iso kynnys on edes mennä lähelle ja kysyä kuulumisia. Ymmärrät var
      Tunteet
      8
      1291
    10. Julkinen saunatilanne Haapavedellä, tämä on täyttä paskaa!

      Eilen Haapaveden uimahallin saunassa koettu tilanne oli täysin käsittämätöntä ja helvetin järkyttävää. Ladyboy harjoitti
      Haapavesi
      19
      1284
    Aihe