CURS ONLINE INTERACTIV

Python 3

PENTRU ÎNCEPĂTORI

Proiect susținut de Uniunea Profesorilor de Informatică din România
LECȚIA 5
PAG. 2 / 4
Structura liniară
Acasă >>> Lecții online

Interschimbarea valorilor a două variabile

Una dintre problemele clasice ce pot fi întâmpinate la crearea programelor o reprezintă interschimbarea valorilor a două variabile. Poate pare banal, însă există totuși mai multe trucuri!

EXEMPLU

Să presupunem că avem două pahare, notate cu A și B, care conțin fiecare 70 și respectiv 40 ml de lichid:



Cum le interschimbăm conținutul? Putem folosi un al treilea pahar de manevră, numit C, care inițial este gol:



Pasul 1. Turnăm conținutul lui A în C:



Pasul 2. Turnăm apoi conținutul lui B în A:



Pasul 3. La final, turnăm conținutul lui C în B:



Paharul C este iar gol, iar noi am reușit!

Algoritmul transpus în Python este deci următorul:
Editor - lectia5_interschimbare.py
       
Rezultatul în consolă done
Atenție. Spre deosebire de pahare, unde folosim un proces mecanic, la finalul programului variabila C va reține ultima valoare, adică cea reținută acum de B. Noi în program copiem valorile și nu le turnăm! 😜

Variabilele de manevră / intermediare nu contează la ieșire, ci sunt utilizate pentru a efectua calcule în interiorul programului, precum C.

CUM PUTEM GREȘI?

Simplu. Considerăm suficientă secvența de mai jos:

A = B    #A reține 40
B = A    #B va reține iar 40


Prima atribuire pierde conținutul lui A definitiv...

O ALTĂ METODĂ

Cine îți spune că informatica nu necesită matematică, se înșeală amarnic. Se poate efectua interschimbarea și fără o altă variabilă de manevră! Testează spre exemplu codul de mai jos:

A = A + B    #A reține 110
B = A - B    #B va reține 70
A = A - B    #A va reține 40


PYTHON ESTE SUPER FAIN!

Creatorii limbajului au anticipat această necesitate, așadar putem folosi următorul tip de atribuire:

A, B = B, A

Elegant, nu? 😎
Execută programul și citește informațiile.
Cărțile editurii noastre
O parte dintre manualele și culegerile de probleme se găsește și [în format electronic] securizat sub formă de fișier *.pdf.
 

"O cameră fără cărţi este ca un corp fără suflet." (G. K. Chesterton)

Ultimele noutăți
[vezi lista completă a cărților]
 home   list  LECȚII   perm_identity   arrow_upward