Arvutiteaduse instituut
  1. Esileht
  2. Teeme ise arvutimänge
EN
Logi sisse

Teeme ise arvutimänge

  • Esileht
  • I RAAMAT
  • II RAAMAT
    • Otsustamine
    • Tõeväärtused
    • Tingimuse kontroll
      • Mitme tingimuse kontroll 1
      • Mitme tingimuse kontroll 2
    • Tsükkel
      • FOR tsükkel
      • RANGE()
      • Tsüklimuutujad
      • Tsükkel sõnedega
      • AJAMÕÕTJA!
      • WHILE tsükkel
      • Lõpmatu tsükkel
      • Jäta tsükkel pooleli
    • Kommentaarid
    • Kuidas kavandada mängu?
    • Mida õppisid?
  • III RAAMAT
  • IV RAAMAT
  • V RAAMAT
  • VI RAAMAT

Tingimuse kontroll

Mitme tingimuse kontroll 2

Veel keerulisemate olukordade jaoks on vaja teha mitu tingimuse kontrolli ühes IF-lauses. Mida see tähendab?

Kui enne kontrollisime iga IF- või ELIF-lause juures ühte tingimust, näiteks kas otsus == "p", siis tegelikult saab ühe IF- või ELIF-lause juures teha mitu kontrolli korraga.

AND ja OR ja NOT

Jällegi võtan appi ühe võimaliku stsenaariumi jupi mängu loomisel asja selgitamiseks.

  • Kõigepealt tahab programm teada kasutajalt kahte asja, tema vanust ja tema klassi. (Eeldame, et need sisestakse korralikult arvulistena, mitte ei kirjutata teksti)
  • Pane tähele, et muutujatele vanus ja klass väärtuste omistamisel muudetakse ka andmetüüpi. Input() annab sõne, aga me muudame int() käsuga sõne täisarvuks, siis on hiljem lihtsam võrrelda.
  • Tingimuste kontrollis esimeses if-lauses kontrollitakse kahte asja, kas vanus on üle 18 VÕI klass on üle 11. Mida see tähendab? St seda, et kui mängija sisetab kas ühe või teise väärtuse liiga suure, näiteks vanuse 17, aga klassi 12, siis antakse talle teade, et ta on selle mängu jaoks liiga vana :(
  • Elif-lauses kontrollitakse samuti kahte asja aga seekord veidi teise seosega. Nimelt siinses kontrollis saab mängukeelu AINULT siis, kui mõlemad tingimused on täidetud: vanus peab olema alla 10 JA klass peab olema alla 4. Seega mängija, kes on näiteks 9 aastat vana, aga käib 5.
  • Kui on soov kontrollida, et üks tingimus kehtiks ja teine tingimus kindlasti mitte ei kehtiks, siis tuleb kasutada AND või OR koos võtmesõnaga NOT. Näiteks: arv1>10 and not arv==20
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused