Home » Blog » Arhiva » Declarația if în limbajul de programare Python

Declarația if în limbajul de programare Python

Sfetcu, Nicolae (2025), Declarația if în limbajul de programare Python, IT & C, 4:2, DOI: 10.58679/IT79564, https://www.internetmobile.ro/declaratia-if-in-limbajul-de-programare-python/

 

The if Statement in the Python Programming Language

Abstract

In Python, the if statement is the most basic way to control the flow of execution of a program. With its help, we can execute certain blocks of code only if a specific condition is true. In this article, we will explore how the if statement works, provide practical examples, and provide reference resources for further reading.

Keywords: Python, programming, if, programming language, statements, instructions

Rezumat

În Python, instrucțiunea if este cea mai de bază modalitate de a controla fluxul de execuție al unui program. Cu ajutorul ei, putem executa anumite blocuri de cod doar dacă o condiție specifică este adevărată. În acest articol, vom explora modul în care funcționează instrucțiunea if, vom prezenta exemple practice și vom menționa resurse de referință pentru aprofundare.

Cuvinte cheie: Python, programare, if, limbaj de programare, declarații, instrucțiuni

 

IT & C, Volumul 4, Numărul 1, Martie 2025, pp. xxx
ISSN 2821 – 8469, ISSN – L 2821 – 8469, DOI: 10.58679/IT79564
URL: https://www.internetmobile.ro/declaratia-if-in-limbajul-de-programare-python/
© 2025 Nicolae Sfetcu. Responsabilitatea conținutului, interpretărilor și opiniilor exprimate revine exclusiv autorilor.

 

Declarația if în limbajul de programare Python

Ing. fiz. Nicolae SFETCU[1], MPhil
nicolae@sfetcu.com

[1] Cercetător – Academia Română – Comitetul Român de Istoria și Filosofia Științei și Tehnicii (CRIFST), Divizia de Istoria Științei (DIS), ORCID: 0000-0002-0162-9973

 

Introducere

În Python, instrucțiunea if este cea mai de bază modalitate de a controla fluxul de execuție al unui program. Cu ajutorul ei, putem executa anumite blocuri de cod doar dacă o condiție specifică este adevărată. În acest articol, vom explora modul în care funcționează declarația if, vom prezenta exemple practice și vom menționa resurse de referință pentru aprofundare.

Sintaxa de bază a declarației if

În Python, structura elementară pentru o declarație if este următoarea:

if <condiție>:
    # Bloc de cod executat dacă <condiție> este True

Observați că:

  1. Spațiul (indentarea) este esențial în Python. Orice instrucțiune care aparține blocului if trebuie indentată la același nivel.
  2. Condiția este o expresie booleeană (evaluează la True sau False).

Exemplu simplu:

numar = 10


if numar > 5:
    print("Numărul este mai mare decât 5.")

Dacă variabila numar depășește valoarea 5, se va afișa mesajul pe ecran. În caz contrar, nu se afișează nimic.

Iată un scurt program pentru a calcula valoarea absolută a unui număr întreg:

n = int(input("Number? "))
if n < 0:
  print("The absolute value of", n, "is", -n)
else:
   print("The absolute value of", n, "is", n)

Iată rezultatul:

Number? -34
The absolute value of -34 is 34

Number? 1
The absolute value of 1 is 1

 

Deci, ce face computerul când vede această bucată de cod? Mai întâi solicită utilizatorului un număr cu instrucțiunea „n = int(input(„Number? „))”. Apoi se citește linia „if n < 0:”. Dacă n este mai mic decât zero, Python rulează linia „print(„The absolute value of”, n, „is”, -n)”. În caz contrar, rulează linia „print(„The absolute value of”, n, „is”, n)”.

Mai formal, Python analizează dacă expresia n < 0 este adevărată sau falsă. O instrucțiune if este urmată de un bloc indentat de instrucțiuni care sunt executate atunci când expresia este adevărată. Opțional, după instrucțiunea if este o instrucțiune else și un alt bloc de instrucțiuni indentat. Acest al doilea bloc de instrucțiuni este rulat dacă expresia este falsă.

Există o serie de teste diferite pe care o expresie le poate avea. Iată un tabel cu toate acestea:

operator funcția
< less than
<= less than or equal to
> greater than
>= greater than or equal to
== equal
!= not equal

Utilizarea else

Instrucțiunea else se folosește împreună cu if pentru a trata cazul în care condiția nu este adevărată. Practic, dacă if este evaluată la False, codul din blocul else va fi executat.

Sintaxă:

if <condiție>:
    # Bloc de cod executat dacă <condiție> este True
else:
    # Bloc de cod executat dacă <condiție> este False

Exemplu:

numar = 3

if numar > 5:
    print("Numărul este mai mare decât 5.")
else:
    print("Numărul NU este mai mare decât 5.")

În acest caz, cum 3 > 5 este False, se va afișa mesajul din blocul else.

Utilizarea elif

Pentru mai multe condiții distincte, elif oferă o abordare mai elegantă în locul unor secvențe repetitive de if…else. Se pot specifica mai multe ramuri de execuție, fiecare cu propria condiție.

Sintaxă:

if <condiție1>:
    # Bloc executat dacă <condiție1> este True
elif <condiție2>:
    # Bloc executat dacă <condiție1> e False și <condiție2> e True
elif <condiție3>:
    # Bloc executat dacă <condiție1> și <condiție2> sunt False și <condiție3> e True
...
else:
    # Bloc executat dacă toate condițiile anterioare sunt False

Exemplu:

nota = 8

if nota < 5:
    print("Elevul a picat examenul.")
elif nota <= 7:
    print("Elevul a promovat, dar mai are de lucrat.")
elif nota <= 9:
    print("Elevul a obținut o notă bună.")
else:
    print("Elevul a obținut nota maximă!")
  • Dacă nota este, de exemplu, 8, atunci prima condiție (nota < 5) e Falsă, a doua (nota <= 7) e Falsă, a treia (nota <= 9) e Adevărată, deci se execută blocul respectiv.

Dacă declarația if originală este falsă, dar partea elif este adevărată, atunci face parte din elif . Și dacă nici expresiile if sau elif nu sunt adevărate, atunci face parte din ceea ce este în blocul else . Iată un exemplu:

a = 0
while a < 10:
    a = a + 1   
 if a > 5:
       print(a, ">", 5)    
elif a <= 3:
        print(a, "<=", 3)    
else:
        print("Neither test was true")

 

și rezultatul:

1 <= 3
2 <= 3
3 <= 3
Neither test was true
Neither test was true
6 > 5
7 > 5
8 > 5
9 > 5
10 > 5

 

Observați cum elif a <= 3 este testat numai atunci când declarația if nu este adevărată. Pot exista mai multe expresii elif , permițând efectuarea mai multor teste într-o singură instrucțiune if.

Exemple

# Acest program demonstrează utilizarea operatorului ==
# folosind numere
print(5 == 6)
# Folosind variabile
x = 5
y = 8
print(x == y)

Și rezultatul

False
False

high_low.py

# Joacă jocul de ghicire mai sus sau mai jos 
# Acesta ar trebui să fie de fapt ceva semi-aleatoriu, precum 
# ultimele cifre ale timpului sau altceva, dar asta va trebui
# să așteptați până la un capitol ulterior. (Credit suplimentar, modificați-l pentru a fi aleatoriu
# după capitolul Module)
number = 7
guess = -1
 print("Guess the number!")
while guess != number:    guess = int(input("Is it... "))     
if guess == number:
        print("Hooray! You guessed it right!")   
 elif guess < number:
        print("It's bigger...")    
elif guess > number:
        print("It's not so big.")

Rulare eșantion:

Guess the number!
Is it... 2
It's bigger...
Is it... 5
It's bigger...
Is it... 10
It's not so big.
Is it... 7
Hooray! You guessed it right!

even.py

# Solicitați un număr.
# Se imprimă dacă este par sau impar 
number = float(input("Tell me a number: "))
if number % 2 == 0:
    print(int(number), "is even.")
elif number % 2 == 1:
    print(int(number), "is odd.")
else:
    print(number, "is very strange.")

Rulare eșantion:

Tell me a number: 3
3 is odd.

Tell me a number: 2
2 is even.

Tell me a number: 3.4895
3.4895 is very strange.

average1.py

# continuă să ceară numere până când se introduce 0.
# Imprimă valoarea medie. 
count = 0sum = 0.0
number = 1 # setați la ceva care nu va ieși imediat din bucla while. 
print("Enter 0 to exit the loop") 
while number != 0:    
number = float(input("Enter a number: "))    
if number != 0:        
count = count + 1        
sum = sum + number    
if number == 0:        
print("The average was:", sum / count)

Rulare eșantion:

Enter 0 to exit the loop
Enter a number: 3
Enter a number: 5
Enter a number: 0
The average was: 4.0

Enter 0 to exit the loop
Enter a number: 1
Enter a number: 4
Enter a number: 3
Enter a number: 0
The average was: 2.66666666667

average2.py

# continuă să ceară numere până când au fost introduse numerele de numărare.# Imprimă valoarea medie. 
# Rețineți că folosim un număr întreg pentru a ține evidența la cât de multe numere, 
# dar numere în virgulă mobilă pentru introducerea fiecărui număr
sum = 0.0 
print("This program will take several numbers then average them")
count = int(input("How many numbers would you like to average: "))
current_count = 0 
while current_count < count:    
current_count = current_count + 1    
print("Number", current_count)   
number = float(input("Enter a number: "))    
sum = sum + number    
print("The average was:", sum / count)

Rulare eșantion:

This program will take several numbers then average them
How many numbers would you like to average: 2
Number 1
Enter a number: 3
Number 2
Enter a number: 5
The average was: 4.0

This program will take several numbers then average them
How many numbers would you like to average: 3
Number 1
Enter a number: 1
Number 2
Enter a number: 4
Number 3
Enter a number: 3
The average was: 2.66666666667

 

Exemple practice și utile

Verificarea apartenenței într-o listă

fructe = ["mar", "banana", "portocala"]
fruct_cautat = "banana"

if fruct_cautat in fructe:
    print(f"{fruct_cautat} se găsește în listă.")
else:
    print(f"{fruct_cautat} NU se găsește în listă.")

Verificarea tipului de date

valoare = 10

if isinstance(valoare, int):
    print("Valoarea este un întreg.")
elif isinstance(valoare, float):
    print("Valoarea este un număr real.")
else:
    print("Valoarea are alt tip de date.")

Utilizarea condițiilor compuse

varsta = 20

if varsta >= 18 and varsta < 65:
    print("Persoana este adult și aptă de muncă.")
elif varsta >= 65:
    print("Persoana este la vârsta pensionării.")
else:
    print("Persoana este minoră.")

Aspecte suplimentare

  • Indentarea: Fiecare bloc de cod din if, elif și else trebuie indentat cu același număr de spații (de obicei, patru).
  • Operatori de comparație și logici: ==, !=, >, <, >=, <=, and, or, not etc. sunt foarte utili în definirea condițiilor.
  • Evitarea blocurilor goale: Dacă doriți să lăsați intenționat blocul de cod al unui if gol, puteți folosi cuvântul cheie pass pentru a evita erori de sintaxă:
if conditie:
    pass  # Nu se întâmplă nimic aici, dar instrucțiunea este validă

Referințe

Concluzie

Declarația if reprezintă una dintre cele mai simple, dar și mai importante instrucțiuni din Python, permițând dezvoltatorilor să definească logica programului în funcție de condiții booleene. Înțelegerea profundă a acestei instrucțiuni, împreună cu elif și else, este esențială pentru a scrie cod clar, robust și flexibil. Pentru mai multe informații și exemple, consultați documentația oficială Python menționată mai sus.

 

CC BY SA 4.0Articol cu Acces Deschis (Open Access) distribuit în conformitate cu termenii licenței de atribuire Creative Commons CC BY SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/).

Follow Nicolae Sfetcu:
Asociat şi manager MultiMedia SRL și editura MultiMedia Publishing. Partener cu MultiMedia în mai multe proiecte de cercetare-dezvoltare la nivel naţional şi european Coordonator de proiect European Teleworking Development Romania (ETD) Membru al Clubului Rotary București Atheneum Cofondator şi fost preşedinte al Filialei Mehedinţi al Asociaţiei Române pentru Industrie Electronica şi Software Oltenia Iniţiator, cofondator şi preşedinte al Asociaţiei Române pentru Telelucru şi Teleactivităţi Membru al Internet Society Cofondator şi fost preşedinte al Filialei Mehedinţi a Asociaţiei Generale a Inginerilor din România Inginer fizician - Licenţiat în Științe, specialitatea Fizică nucleară. Master în Filosofie. Cercetător - Academia Română - Comitetul Român de Istoria și Filosofia Științei și Tehnicii (CRIFST), Divizia de Istoria Științei (DIS) ORCID: 0000-0002-0162-9973

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *