3. tēma: Vadības struktūras. 2. stunda: Loģiskie operatori (and, or, not).

Tavs šīs stundas izaicinājums: Padarīt spēles loģiku "gudrāku" un koda rindu skaitu – mazāku. Tu iemācīsies apvienot vairākus nosacījumus vienā pārbaudē, izmantojot loģiskos operatorus.

SR 2.4.13. (Zarošanās loģika, saliktas izteiksmes)

Teorija: Loģisko izteiksmju apvienošana

Loģiskie operatori ļauj mums apvienot vairākas salīdzināšanas vienā teikumā, aizstājot sarežģītus, ligzdotus if nosacījumus.

Operators Nozīme Piemērs Rezultāts ir True, ja...
and UN vecums >= 12 and nauda >= 7 ...abi nosacījumi ir pareizi.
or VAI ievade == "stop" or ievade == "beigt" ...vismaz viens no nosacījumiem ir pareizs.
not NE not speles_beigas ...nosacījums ir nepatiems (apgriež vērtību).

Kāpēc tas ir svarīgi?

Bez loģiskajiem operatoriem mums būtu jāraksta "if" "if" (tā sauktie nested if), kas padara kodu nepārskatāmu. Ar and/or mēs varam uzrakstīt sarežģītu spēles noteikumu vienā, viegli lasāmā rindā.

Praktiskie uzdevumi

1. uzdevums: Biļešu kontrole (Operators AND)

  1. VS Code izveido failu kino.py.
  2. Iegūsti divus datus: lietotāja vecumu (int) un naudas daudzumu (float).
  3. Izmanto if ar operatoru and, lai pārbaudītu, vai vecums ir ≥ 12 UN nauda ≥ 7.50.
  4. Ja abi nosacījumi ir True, izvadi: "Biļete iegādāta!".
  5. Citos gadījumos (else) izvadi: "Tev nepietiek vecuma vai naudas.".

2. uzdevums: "Gudrais" tiesnesis V2 (Operators OR)

  1. Izveido failu tiesnesis_v2.py.
  2. Iegūsti lietotāja ievadi un saglabā mainīgajā gajiens.
  3. Izmanto or, lai pārbaudītu, vai lietotājs ir ievadījis "stop" VAI "iziet".
  4. Ja nosacījums izpildās, izvadi: "Spēles beigas!".
  5. Padoms: Šī loģika vēlāk palīdzēs lietotājam pārtraukt spēles ciklu.

3. uzdevums: Akmens-Šķēres-Papīrīts (Loģikas apvienošana)

  1. Izveido failu asp_logika.py.
  2. Pieņem, ka dators = "skeres" un lietotājs ievada savu izvēli.
  3. Izmanto vienu if rindu ar or un vairākiem and, lai definētu visus uzvaras variantus (akmens pret šķērēm, papīrs pret akmeni utt.).
  4. Piemērs: if (izvele == "akmens" and dators == "skeres") or (...):
  5. Pievieno elif neizšķirtam un else zaudējumam.

Biežākās kļūdas:

Koda paraugs: Loģiskā shēma

# Piemērs ar AND un NOT
lietus = True
ir_lietussargs = False

if lietus and not ir_lietussargs:
    print("Tu samirksi! Paņem lietussargu.")
elif lietus and ir_lietussargs:
    print("Lietus līst, bet Tev ir lietussargs. Viss labi!")
else:
    print("Laiks ir saulains.")
Tu samirksi! Paņem lietussargu.
⬅ Iepriekšējā stunda Nākamā stunda ➡