Fundamentele programării (XIII) - Python

Am văzut până acum că avem șiruri de caractere (string-uri) și acestea sunt foarte utile pentru a reprezenta texte. Dar, poate avem nevoie și de alte tipuri de șiruri... De exemplu, am putea avea nevoie de șiruri de numere.

Șiruri

Putem spune că un șir este o colecție de valori, puse împreună, care au o denumire. Sunt întâlnite diverse denumiri pentru acest concept: șir, vector, listă sau englezescul array. În Python, termenul folosit este, de obicei, listă.

Pentru a lucra cu șiruri va trebui să  dăm valori elementelor care fac parte din șir.

În Python, variabilele pot conține orice fel de date, inclusiv șiruri. Pentru a indica faptul că valoarea unei variabile este un șir, vom folosi paranteze drepte.

De exemplu, următoarea instrucțiune creează un șir:

Accesarea elementelor

Șirurile sunt excelente pentru a lucra cu date care au sens să fie grupate. Putem evita să declarăm câte o variabilă pentru fiecare. Putem avea zeci, sute sau mii de valori care sunt păstrate împreună și avem o singură variabilă. Dar, cum lucrăm cu valorile individuale? Cum vedem care este primul element al șirului, care este al doilea și așa mai departe?

Într-o listă, elementele sunt numerotate (începând cu 0). Numărul de ordine al unui element în șir poartă denumirea de indice. Pentru a accesa un anumit element, trebuie să folosim variabila care reprezintă șirul, urmată de indicele respectiv, cuprins între paranteze drepte.

De exemplu, pentru a da o valoare celui de-a șaselea element al șirului nostru, am putea scrie:

Observați că am scris  a[5], nu  a[6], fiindcă numerotarea începe de la 0. În acest mod putem da valori tuturor elementelor șirului.

Dar, dorim și să accesăm valorile acestor elemente. Acest lucru se realizează în același fel. Pentru a scrie valoarea celui de-a șaselea element al șirului, am putea folosi instrucțiunea:

Inițializare mai simplă

Am văzut că trebuie să precizăm valorile tuturor elementelor. De exemplu, dacă am dori să avem un șir care să conțină numărul zilelor din lunile anului, putem specifica elementele sale, cuprinse între paranteze și separate prin virgulă.

Am presupus că nu avem de-a face cu un an bisect...

Șiruri ca parametri

Putem folosi șiruri cam peste tot unde am folosit valorile simple. De exemplu, putem crea funcții ale căror parametri să fie șiruri; am putea avea o funcție care are doi parametri; primul este numărul zilelor din lunile anului; al doilea este numărul de ordine al unei luni (numerotarea începe cu 0); funcția va afișa numărul zilelor din luna respectivă. Un program ar putea fi:

Observăm câteva aspecte interesante:

  • indicele nu trebuie să fie un număr întreg precizat ca atare; putem folosi o variabilă (în acest caz un parametru al funcției) care are ca valoare un număr întreg;
  • pentru fiecare apel am ales șirul pe care să îl transmitem ca argument al funcției; două apeluri folosesc zilele din anii bisecți și două zilele din anii nebisecți.

Dacă dorim, putem scrie și ceva de genul:

Va urma

Până acum am folosit șirurile doar pentru a simplifica puțin codul și a reduce numărul variabilelor declarate. Vom vedea în episodul următor că șirurile aduc numeroase alte beneficii.