scripts/python/taitotalo/arvaa_numero.py

71 lines
1.9 KiB
Python
Raw Normal View History

"""
Sovellus arpoo luvun ja pyytää käyttäjää arvaamaan sen.
"""
# Tuodaan kirjastot random numeron myöhemmin arpomista varten.
import random
# Määritetään pääfunktio
def main():
"""
Pääfunktio.
"""
# Kutsutaan funktiota
arvaa_numero()
# Määritetään tehtävänannossa vaadittu funktio.
def arvaa_numero():
"""
Sovellus oikeasti toteutetaan täällä.
"""
# Luodaan sattumanvaraisesti oikea vastaus tallentaen se kokonaisluvuksi.
oikeavastaus = int(random.randrange(0, 10))
# Luodaan muuttuja laskemaan yrityäsiä
laskuri = 0
# Debuggausta varten tulostetaan oikea vastaus
# print(oikeavastaus)
while True:
laskuri += 1
2024-07-12 09:58:51 +02:00
# Pyydetään käyttäjältä luku varautuen virheelliseen syötteeseen. Se
# on tärkeää muuttaa int:iksi tai muuten se on string!
try:
arvaus = int(input("Arvaa numero? "))
# Virhesyötteen tapahtuessa
except ValueError:
print("Et antanut numeroa.")
return
# Jos käyttäjä arvaa oikein, poistutaan loopista
if arvaus == oikeavastaus:
# Poistetaan taas välilyönti
print(
"Onnittelut! :)\nArvasit oikein ",
laskuri,
". yritykselläsi. Luku oli siis ",
oikeavastaus,
".",
sep="",
)
break
2024-07-12 09:58:51 +02:00
# Muuten avustetaan käyttäjää antamalla vihje. Printistä myös
# poistetaan erottavat välilyönnit, jotka tehdään itse, jotta
# arvauksen ja pisteen väliin ei tule välilyöntejä
if arvaus < oikeavastaus:
print("Oikea luku on suurempi kuin ", arvaus, ".", sep="")
else:
print("Oikea luku on pienempi kuin ", arvaus, ".", sep="")
2024-07-12 09:58:51 +02:00
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
# pääfunktio.
if __name__ == "__main__":
main()