GirlsGoIT Wiki (ro)
RU
  • Introducere
  • Unelte
    • Slack
    • Visual Studio Code
    • CodeSandbox
      • Cum rezolvi un task la proiect
      • Cum rezolvi un exercițiu
    • GitHub
  • FRONTEND STATIC
    • Internet
    • HTML
    • CSS
    • Exerciții
      • Erontend Static Exercitii
  • FRONTEND DINAMIC
    • JavaScript
      • Introducere
      • Consola Browser'ului
      • Variabile
      • Tipuri de date
      • Operatori
      • JavaScript & HTML
      • Funcții
      • DOM & Window API
      • Math API
      • Condiționale (if)
      • Cicluri (for & while)
    • Vue.js
      • Componente Vue
      • Componente & Forme
      • Lifecycle hooks
      • Comunicare între componente
      • Vue Router
      • Axios
      • Instalare locală
    • Exercitii
    • Rest API
      • Rest api GET
      • Rest api GET one
      • Rest api POST
      • Rest api PUT
      • Rest api DELETE
  • PYTHON
    • Introducere
    • Variabile
    • Tipuri de Date
    • Operatori
    • Control Flow
    • Liste
    • Cicluri for
    • Funcții
    • Dictionare
    • Seturi
    • Fișiere
    • Try-except-finally. Lambda
    • Librării, module
    • Exercitii
      • Variabile
      • TIpuri de Date
      • Operatori
      • If...else
      • Liste
      • Cicluri for
      • Funcții
      • Dicționare
      • Seturi
      • Fișiere
      • Try-except, Lambda
      • Librării , module
      • ✨Mai multe exerciții ✨
    • Python Archiva
  • BACKEND
    • Instalare Python
    • Python OOP
    • Baze de date
    • Django
    • REST API's
    • Django REST Framework
    • Exerciții
      • Python OOP
      • Django
      • Django Rest Framework
  • Data Science
    • Introducere în Data Science
    • Vizualizarea datelor
      • Matplotlib
    • Numpy
    • Pandas
    • DecisionTrees
  • 3D Printing
    • Intro
    • Fusion 360 Intro
    • Sketch
    • Solid body
    • Arduino
    • Final Projects
  • ARHIVA
    • Milligram
    • Drone
      • Intro
    • Old Backend
      • Bootstrap
      • Hello Flask
      • DB Modeling
      • Ubuntu Quest
      • Baze de date
      • Heroku Deploy
    • Robotica NAO
      • Finalizarea proiectelor
      • Flow Control
      • Cum creez un Dialog box
      • Convenția GirlsGoIT Robotics Choregraphe
      • Tracker
      • Dialog - QiChat
    • Robotica
      • 1.1 mBlock
      • 1.2 Descărcarea, instalarea și conectarea
      • 1.3 Execută un program de pe mBlock IDE sau încarcă pe Board
      • 1.4 Conectarea prin USB, Bluetooth sau 2.4GHz
      • 2.1 Programe Simple
      • 2.2 Senzori
      • 2.3 Exerciții avansate - Scratch
      • 3.0.1 Instalare Arduino IDE
      • 3.0.2 Instalare Arduino IDE WEB
      • 3.1 Configurare Arduino IDE
      • 3.2 Introducere în limbajul C
      • 3.3 Exemple Arduino - mBot
      • 3.4 Line follow - Arduino
      • 3.5 Ultimate robot
      • 4.1 Planificarea și managementul proiectelor
      • Custom robot
      • Noțiuni și explicații
      • Delay fara sa opreasca programul
      • Alte resurse și exemple
Powered by GitBook
On this page
  • Operațiile Boolean
  • and
  • or
  • not
  • Sintaxa condiționalelor
  1. PYTHON

Control Flow

Ce vei face, dacă ai castiga un million dolari? Dar dacă zece lei? Introducem construcția if...else! Și multe alte!

PreviousOperatoriNextListe

Last updated 3 years ago

La fel ca și în viața reală, uneori codul nostru trebuie să fie capabil să ia decizii.

Până acum, tot ce am scris împreună în Python putea să urmeze doar un singur fir logic: fie că am adunat două numere sau fie că am afișat ceva. Codul nostru, însă, nu putea lua decizii de sine-stătător în privința a ce instrucțiuni să execute în dependență de o careva condiție. Conceptul de Control Flow oferă posibilitate programului de a alege ce să facă.

Pentru a intra în esența conceptului de Control Flow, trebuie să definim câteva noțiuni importante.

au un rol major in conceptul de Control Flow.

Operațiile Boolean

Operațiile boolean compară careva afirmații, rezultatul acestei comparații fiind o valoare boolean. Există trei operații de tip boolean:

and

And verifică dacă ambele afirmații sunt True.

De exemplu:

Eu voi cumpăra pâine dacă:

  1. Voi avea bani .

ȘI (AND)

  1. Dacă va fi pâine la magazin.

or

Or verifică dacă cel puțin o afirmație este True.

De exemplu:

Eu voi fi fericit/fericită dacă:

  1. Se termină pandemia.

SAU (OR)

2. Dacă mă vaccinez.

not

Not este opusul afirmației.

De exemplu:

Eu voi sta acasă dacă:

NU (NOT) se deschide școala.

În acest context, aflați că:

 - True  and True  este True;
 - True  and False este False;
 - False and True  este False;
 - False and False este False;

 - True  or True  este True;
 - True  or False este True;
 - False or True  este True;
 - False or False este False;

 - Not True  este False;
 - Not False este True.

Să mergem mai departe.

Să zicem că avem următoarea expresie Python: 1 < 2 and 2 < 3.

Rezultatul acestei expresii va fi True sau False? Pentru a răspunde la această întrebare, să apelăm la tabelul de mai sus.

1 < 2 este True. 2 < 3 este la fel True. True and True ce va fi? Corect! True!

Dar care vor fi rezultatele următoarelor expresii?

1 < 2 and 2 > 3 (False)

1 < 2 or 2 > 3 (True)

1 > 2 or 2 > 3 (False)

not False (True)

not 41 > 40 (False)

Operațiile boolean nu sunt pur și simplu evaluate de la stânga la dreapta. La fel ca operațiile aritmetice, operațiile boolean au o ordine de execuție:

  1. not este evaluat primul;

  2. and este evaluat al doilea;

  3. or este evaluat ultimul.

De exemplu, True or not False and False returnează True. De ce?

not este evaluat primul, astfel noi avem True or True and False. Deoarece and-ul e următorul evaluat, avem True or False. Așa după cum am văzut mai sus, True or False este True, astfel valoarea finală este True!

Sintaxa condiționalelor

Dacă tot am învățat mai devreme cum să comparăm datele între ele, acum putem să punem și condiții.

Condiția if este considerată cea mai simplă dintre cele trei și ia o decizie în funcție dacă condiția e adevărată sau nu. Dacă condiția este adevărată, imprimă expresia indentată. Dacă condiția este falsă, omite imprimarea expresiei indentate.

if 100 == 100:          # specificam conditia, si ne amintim sa punem ':'
    print("I'm happy!")   # toate instructiunile care urmeaza dupa ':'  
                        # trebuie sa fie indentate!!!
                        # daca conditia este adevarata, executam instructiunea

Este foarte important să indentăm corect codul când folosim conditionalul if.

In caz contrar vom obține eroarea de mai jos.

# de ce avem eroare?
if 100 == 150:         
print("I'm happy!")

Dar ce înseamnă indentare?

Indentarea se referă la spațiile de la începutul unei linii de cod.

În cazul în care în alte limbaje de programare indentarea în cod este doar pentru lizibilitate, indentarea în Python este foarte importantă.

Python folosește indentare pentru a indica un bloc de cod.

Pentru a deplasa o linie de cod spre dreapta la distanța cerută de Python, utilizăm tasta tab

Sa vedem care e structura condiționalului if

Când folosim else?

Când avem doar 2 opțiuni.

De exemplu vrem să ne logăm pe pagina noastră de Facebook și trebuie să ne introducem numele. În spatele acestei funcționalități se află un if care verifică dacă numele pe care l-am introdus se află în sistemul Facebook-ului sau nu.

# Hai sa improvizam aici un astfel de algoritm
in_facebook_system_name = 'Anna'
my_name = 'Ana'

if my_name == in_facebook_system_name:
    print('Numele este corect')
else:
    print('Numele este gresit')

Dar dacă avem mai mult de 2 opțiuni?

Atunci folosim elif care e de fapt este else + if.

# vrem să știm cât de accesibil este prețul unei înghețate pentru bugetul nostru
ice_cream_price = 50
accessibility = ''

if ice_cream_price == 0:
    accessibility = 'Gratuit'
elif ice_cream_price <= 10:
    accessibility = 'Mediu'
else:
    accessibility = 'Scump'
 

print(accessibility) # observați că print() se află în afara if-ului

Some day, someone will construct a of 500 Great Programming Quotes, and this will be one of them.

list
Operatorii de comparație