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ä...

2

<50

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi
      UUSI

      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
        UUSI

        Kiitoksia paljon! :)


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

    Luetuimmat keskustelut

    1. Alle 15 oli

      Arvasi että lapsi asialla hallin palossa. Surullista. Mutta jos osaa/kykenee käyttää tulentekovehkeitä niin pitää osata
      Vimpeli
      43
      1491
    2. Mikä on kaivattusi ihanin ja ärsyttävin piirre?

      Ja onko hän mies, nainen ja muun sukupuolinen? Mies. Huomaavaisuus. Kiireisyys. Joskus voi rentoutuakin.
      Ikävä
      98
      1375
    3. Riikka Purra: työttömät tulee velvoittaa töihin

      Purra panisi työttömät tulevaisuudessa työskentelemään sosiaaliturvan saamiseksi, koska työllisyysaste ei muuten näytä l
      Maailman menoa
      309
      1329
    4. Onko kaivattusi yllättänyt sinut?

      Piditkö häntä toisenlaisena ihmisenä?
      Ikävä
      109
      1135
    5. Mitä on eilen sattunut?

      Mitästä oli eilen illalla kylällä sattunut?
      Suomussalmi
      19
      1091
    6. Milloin tapasit kaivattusi

      ensimmäistä kertaa? 💸
      Ikävä
      68
      1083
    7. Näin Ellen Jokikunnaksen Ralph-poikaa suojellaan julkisuudelta - Katso tuoreet kuvat Italiasta!

      Ellen Jokikunnas ja Jari Rask ovat Ralph-poikansa kanssa kakkoskodissa Italiassa. Mukana on myös Unelmia Italiassa -kuva
      Suomalaiset julkkikset
      17
      1047
    8. Oletko mokannut

      Kaivattusi suhteen koskaan?
      Ikävä
      71
      1022
    9. Heh, persut = vassarit = 10,0 %

      Minja tuli nyt jo Riikan rinnalle, sitten alkaa tekemään kaulaa. Molemmilta kympin arvoinen suoritus! https://www.hs.f
      Maailman menoa
      177
      902
    10. Vihdoinkin lavatansseja tv:ssä - Juhannuksena tanssitaan, bändeinä Yölintu ja Komiat!

      Jes, vihdoinkin lavatansseja taas televisiossa! Keskikesän juhlaa vietetään tänä juhannuksena Tuuloksen Kapakanmäellä ju
      Tanssi
      18
      841
    Aihe