Python - Curs 2
Python - Curs 2
Structuri Repetitive
String
Fișiere
Liste
INSTRUCTIUNEA WHILE
while expresie_logica:
secventa
[else:
secventa]
# mentionarea pozitie
print("Hello {0}, your balance is {1}.".format("Adam",
230.2346))
# cu identificatori
print("Hello {name}, your balance is
{blc}.".format(name="Adam", blc=230.2346))
# pozitie si identificatori
print("Hello {0}, your balance is {blc}.".format("Adam",
blc=230.2346))
z=complex(4.12333,5.55563)
print("z={0:4.2f}+{1:4.2f}j".format(z.real,z.imag))
EXERCITII
Se citeste un sir de caractere care reprezinta CNP-ul unei
persoane Să se verifice corectitudinea lui: numărul de
caractere să fie 13 și toate caracterele să fie cifre.
Fie un sir de caractere ce descrie un obiect. Să se verifice daca
toate caracterele sunt litere.
Fie un sir de caractere alfanumerice. Să se afișeze suma
cifrelor întâlnite în șirul de caractere.
Fie un șir de caractere ce reprezintă parola unui cont. Să se
verifice daca este o parolă puternică. O parolă este considerată
puternică dacă: are exact 8 caractere, conține cel puțin o literă
mare, cel puțin o cifră și cel puțin unul dintre caracterele #, $,
%, &, @.
INCHIDEREA FISIERELOR
Închiderea fișierului permite eliberarea memoriei de resursele
utilizate de acesta.
Pentru a închide un fișier se folosește metoda close() astfel:
nume_variabila_fisier.close().
Exemplu:
f = open("fisier.txt", "r")
Pentru a închide fișierul se va folosi: f.close()
Dacă fișierul a fost deschis folosind cuvântul cheie with atunci
acesta se închide automat.
Putem testa inchiderea fisierului:
print(f.closed)
CITIREA DIN FISIER
Citirea datelor din fișier se face prin metoda read(), care
returnează șirul de caractere din fisier. Se poate citi în
întregime fișierul: nume_var_fisier.read().
Se poate citi un număr de caractere din fișier:
nume_var_fisier.read(valoare), valoare prezintă numărul de
caractere care se vor citi din fișier.
Se poate citi câte o linie din fișier: fie cu metoda readline()
(nume_var_fisier.readline()), fie prin parcurgerea tuturor
liniilor cu o instrucțiune repetitivă astfel:
for linie in nume_var_fisier:
..................
Elementele unui fișier pot fi puse într-o listă: lista=
nume_var_fisier.read().splitlines(), metoda splitlines() pune
fiecare l linie ca element al listei și elimină sfarsitul de linie.
EXEMPLE - CITIRE
f = open("date.in", "r")
print(f.read())
f = open("date.in", "r")
print(f.read(5))
f = open("date.in", "r")
for line in f:
print(line)
f = open("date.in", "r")
for line in f:
print(line.rstrip('\n'))
SCRIEREA IN FISIER
Scrierea datelor într-un fișier se face prin metoda write(), care
returnează numărul de caractere scrise: nume_var_fisier.write().
Editarea unui fișier existent: deschiderea în modul a va permite
adăugarea la sfârșitul fișierului
f = open("fisier.txt", "a")
f.write("Adauga la final!")
ag = open("agenda.in", "w")
nume = 'James'
ag.write(nume+'\n')
ag.close()
ag = open ("agenda.in", "a")
ag.write("Phillip"+'\n')
ag.close()
APLICATII
Fie un fișier numere.in ce conține numere întregi. Creați un
fișier pare.out ce conține numere pare din fișierul numere.in
și un fișier impare.out ce conține numere impare din
numere.in.
Creați un fișier cu primele n pătrate perfecte. Unde n este un
număr întreg citit de la tastatură.
Creați un fișier cu primele n elemente ale șirului lui
Fibonacci. Unde n este un număr întreg citit de la tastatură.
Fie date.in un fișier ce conține pe primul rând un număr
întreg n și pe următoarele n linii numere întregi. Creați un
fișier prime. out cu numere prime din fișierul date.in.
LISTE - LIST
Exemple:
culori = ["rosu", "verde", "albastru", "galben", "alb", "violet"]
nume_lista[index]
nume_lista[0] - primul element,
nume_lista[i] - elementul cu indexul i
nume_lista[i:j] - elementele din intervalul [i,j)
nume_lista[i:] - toate elementele listei începând
cu indexul i
#Operatori list
l1=[1,2,3]
l2=[4,5,6]
l3 = l1+l2
print(l3)
l4=l1*2+l2
print(l4)
if 4 in l4:
print('DA')
else:
print('NU')
ADAUGARE / INSERARE ELEMENTE IN LISTA
Adaugare la sfarsit: numelista.append(element)
Exemplu: crearea unei liste cu patrate perfecte
l = []
n = int(input("n="))
for i in range (1,n+1):
l.append(i*i)
print(l)
Inserarea element: numelista.insert(pozitie,
element)
ELIMINARE ELEMENTE DIN LISTA
l.insert(2,10)
print(l)
l.pop(2)
print(l)
l.remove(9)
print(l)