Operatorul ternar

Este o formă mai simplă de a obţine o prelucrare fără a mai folosi instrucţiunea if. Limbajul PYTHON are implementată forma:
valoare_TRUE if (expresie_conditionala) else valoare_FALSE
Se evaluează expresia condiţională.
Dacă este adevărată, se atribuie su se execută expresia sau instrucţiunea valoare_TRUE.
Dacă expresia condiţională este falsă se execută instrucţiunea sau se atribuie valoare_TRUE.
Exemple:
A = 7 if (x < y) else 100
ceea ce înseamnă că dacă x este mai mic decât y A devine 7, iar în caz contrat, A devine 100
print('mesaj_1\n') if(xx==yy) else print('mesaj_2n')
ceea ce înseamnă că dacă este adevărat că xx este egal cu yy se tipăreşte mesaj_1, iar în caz contrar, se tipăreşte mesaj_2.
Dolosind acest oprator, anumite programe PYTHON devin mai elegante.
Una este să scriem pentru a alege minimul dintre a, b, şi c:
if (a < b):
    min = a
else:
   min = b
if (min > c):
   min = c
şi altceva este dacă scriem:
min = b if (a > b) else a
min = c if (min >c) else min
Totul se rezolvă într-o singură expresie de atribuire în programul:
#
# alege Minimum şi Maximum dintre a, b, c
a = input('Primul element a :')
b = input('Al doilea element b:')
c = input('Al treilea element c:')
minim = ac
if (minim > b):c
   minim = b
if (minim > c):c
    minim = c
print('Minimum dintre a, b, c este:', minim)
if(a < b):c
   if(a < c):c
      minim = a
   else:c
      minim = c
elif (b < c):
    minim = b
else:
   minim = c
print('Nimimum dintre a, b, c este:', minim)
minim = a if (a < b) else b
minim = minim if (minim < c) else c
print('Minumum dintre a, b, c este:', minim)
minim = (a if(a print('Minumum dintre a, b, c este:', minim)
# Alegere element maxim dintre a, b, c
maxim = a
if (maxim < b):
   maxim = b
if (maxim < c):
    maxim = c
print('Maximum from a, b, c is:', maxim)
maxim = a if (a > b) else b
maxim = maxim if (maxim > c) else c
print('Maximum from a, b, c is:', maxim)
maxim = a if (a > b) else (b if(b > c) else c)
print('Maximum from a, b, c is:', maxim)
if(a > b):c
   if(a > c):c
      maxim = a
   else:c
       maxim = c
elif (b > c):
    maxim = b
else:
   maxim = c
print('Maximum dintre a, b, c este:', maxim)
maxim = (a if(a>c) else c) if(a>b) else (b if(b>c) else c)
print('Maximum dintre a, b, c este:', maxim)



Rezultatele sunt:
primul numar a: 7
Al doilea numar b:2
Al treilea numar c:5
Minumum dintre a, b, c este: 2
Minumum dintre a, b, c este: 2
Minumum dintre a, b, c este: 2
Minumum dintre a, b, c este: 2
Maximum dintre a, b, c este: 7
Maximum dintre a, b, c este: 7
Maximum dintre a, b, c este: 7
Maximum dintre a, b, c este: 7
Maximum dintre a, b, c este: 7


Din această mare varietate, programatorul trebuie să aleagă ce-l aranjează cel mai bine sau dacă este interesat să impresioneze, va alege operatorul ternar căci este ceva mai ermetic, accesibil doar pentru cunoscători...



(afişat azi 18 aprilie 2022 ora 18,30)
revenire