Institute of Computer Science
  1. Main page
  2. Teeme ise arvutimänge
ET
Log in

Teeme ise arvutimänge

  • Esileht
  • I RAAMAT
    • Eessõna
    • Hakkame pihta!
      • Esimesed katsetused
      • Esimene päris programm
      • Esimene mäng
    • Olulised mõisted
      • Muutujad
      • Arvud ja sõned
    • Veateated
    • Matemaatika
      • Põhitehted
      • Suurendamine ja vähendamine
      • Eriti suured ja eriti väiksed arvud
      • Moodul math
    • Andmetüübid
    • Sisend ja väljund
      • "print" käsk, end="", koma ja +
      • Sisendi küsimine failist või veebist
    • Esimene graafika
    • Mida õppisid?
  • II RAAMAT
  • III RAAMAT
  • IV RAAMAT
  • V RAAMAT
  • VI RAAMAT

Olulised mõisted ja sissejuhatus

Veateated

Mis siis juhtub, kui tuleb veateade ja minu kirjutatud programm ei lähe tööle?

Laias laastus on veateateid kahte sorti:

  1. Syntax errors: need on vead, mis tulevad tavaliselt välja juba siis, kui programm ei ole veel päris käima pandud. Nimelt Thonny kontrollib enne su koodi üle, et kas see on korrektselt kirjutatud, kas kõik käsud on tema jaoks arusaadavad, kas kõik reavahetused, sulud, jutumärgid, koolonid jms on õigetes kohtades. Kui mitte, annab ta Syntax errori (ehk nö grammatika vea, kirjutamise vea teate) ja märgib punase kastikesega ligikaudse koha koodis, kus Pythoni arvates viga baseerub.
  2. Runtime errors: need on sellised vead, mis tulevad alles siis välja, kui programm on saadud juba käima panna. Näiteks kui ma kirjutaksin käsureale nii:
print("Tere" + 5), siis kood on grammatiliselt õigesti kirjutatud, kuid tegelikult Python sellist tehet teha ei oska ning annab veateate. Proovi, milline see veateade välja näeb!

Miks oskab Python peale hakata print("Tere" * 5)-ga aga print("Tere" + 5) peale annab veateate?

Nii, siin mõtle natuke, see on koht, kus tuleb loogika mängu panna!

....

Vastus! Põhimõtteliselt võin ma seda võrrelda olukorraga kui mul on üks pliiats ja ma korrutan seda viiega, siis ma saan viis pliiatsit (teen koopiad), kuid kui mul on pliiats ja liidan 5 juurde, tekib esiteks küsimus, mida ma juurde liidan, kas kartuleid? Kuna tekstile liidetakse juurde arv, siis on see sama kui pliiatsitele kartulite liitmine. Kes ütleb, mis siis kokku tuli, kas kartulid või pliiatsid või kartulpliiatsid?

Pea meeles, et kunagi ei saa programmeerimises liita tekstile juurde arve ilma et sa eelnevalt arvu tekstiks muudaksid või vastupidi. Selle muutmisest aga räägime mõni peatükk hiljem.

Pea ka seda meeles, et veateated on väga loomulikud asjad. Ilma veateadeteta ei saa läbi ükski programmeerija, isegi mitte see, kes on 30a programmerija olnud. Veateadetaga harjumiseks ja nende tähenduste tõlgendamiseks soovitan sul külastada Pythoni veateadete lehekülge ja seda veidi uurida: http://docs.python.org/dev/tutorial/errors.html

  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment