Python Course
Python Course
Downloads:
PAROLE
Calculator
Student – student
Sala transformers
Wi Fi Transformers
stepit_novo
Cladirea NOVO
Curs 1: 24.10.2023
Compilator
Interpretator
Structuri de date
INREGISTRARI
Sudentstepitacademy, nu pe MYSTAT
TEAMS rosulorena
Rust / C sunt limbaje de system – compilat/ transformat in 0 si 1 – fara middle man -interpretator (cum
este pyton)
Code.visualstudio.com
Java si C sharp – closed source- cand incepi sa faci bani din codul scris in aceste programe, platesti
developerii
Unde scrii textul Python (editare) – Visual Studio Code- Microsoft
C+ Compilator
Command Prompt – CMP – Comenzi (DIR - ca sa vezi ce e in folder =>=>=> >>> Merge Python
Python 3 – il cauti cu py
% - restul impartirii
Fisier – Fisier VS Code -> Interpreteaza fisierul in PYTHON – interpreteaza linie cu linie
STEPITADMIN
STEPITADMIN19771217
a=1
b=2
a+b enter 3
nu poti modifica linia - daca a luat comanda, nu mai reviine la ea daca o modifici – o iei de la inceput
Debug
Cd desktop, locatie
Dir ce ai pe desktop
Visual sStudio Code -> iconita (Start) Click dreapta – Run as administrator (Poti crea folder)
Dir -3bies
3 – cate caractere sunt in acel file
Py spatiu ceva.py
Py spatiu ceva.py
>>> vorbesti direct cu interpretatorul EXIT () – ca sa iesi sau sa iesi direct si sa redeschizi CMD
Py cartof.py – gaseste
X ascunde
True/False
“” ‘’ = TEXT
***TEXT***
Def – Defined – Nu poti scrie acel cuvand fara “” pentru ca ia o comanda – parte din limbaj (structura)
Functie = reteta
Sunt case sensitive – trebuie scris numai intr-un case – nu poti sa incepi cu camel si sa continuni cu snake
Numar_copii=7
Print(numar _copii+5)
In python
Nu va mai lua in seama ce e scris (comentarii pentru colegii care citesc codul)
(Jupiter) Notebooks – rulezi bucati de cod pentru analiza de date (ca in xls)
latura = 5
SIMPLIST:
a=5
b = a **2
print("Calculez aria...")
Curs 3 31.10.2023
Made.py
Operatori
Modulo
Plus minus
Logici si matematici
Binari
Aplicatie pos
781.99
De plata nr – 45.98
Functii clase
2 categ de operatori- variabile si bloc controolere = turing complete cand pot isa dezvolti orice cu el
S apoti s ate inorci in cod – turing complete- pot isa faci orice cu el
Sageata de rulare in dreapta- sageata de langa – run py file si debug py file – se incarca o interfata si
ruleaza aplicatia cu dezinsectie – break points – puncta in care drim s aoprim executia
Bara din stanga numerelor- cerculete rosi – cerculetul ramane aprins – click pe 2 – locul unde vrem sa
oprim executia codului – numai cand rulam in debug mod- ramane ultima rulare care ati facut -o cu
gandacel
Interfata de debugging – stanga fereastra – panou de control pe centrul ecranului se poate muta in
stanga
Al doilea – step over – treci la linia urmatoare – iti permite sa execute linie cu linie
Ultimul – stop
Erorile sunt de 2 tipurei – de sintaxa – nu ruleaza apare eroarea iti spune cam ce ai putea sa schimbi
Debugging -pui break point – debuggerul te ajuta s arulezi pas cu aps , nu gaseste el eroarea.
Tu observe ce e in neregula
Te ajuta s avezi I cod cu ce valori lu crezi
Stepover
Sintaxa e corecta dar da 0 din cauza //la 19/100 19% si gresesti scriind 19//100
Watch – pui expresii pe care le poti calcula – monitorizare – s epun numai in bara de debugging – in
stanga – ruleaza pana la bulna rosie – ce e in watch, se parat sunt variabilele – nu fac parte din cod, ci
din aplicatia in care lucram (vs code)
Cand dai debug – watch este o expresie care se va calcula in permanenta (dinamic) -si daca iti calculeaza
mereu tva-ul nu poti sa gresesti calculele ulterioare care folosesc mereu TVA-ul, adaugare de valori
calculate pe care le pot monitoriza
Nu se fac atribuiri- vrei sa vezi anumite lucruri – sa vede, de ex care este cel mai inalt din clasa – functia
max
Incepe de la inceput pana unde pui break pointul, nu rulezi bucati de cod, se opreste und epui
breakpoint-ul si o iei de la inceput apoi.
Stop – ca sa scrii din nou in cod, ramane break pointul, ca s ail scoti treb sa il apesi din nou.
If nu avvem paranteze – valoare logica sau o operatie care intoarce o valoare logica (true/false)
Tab e dupa if
Conteaza aliniatele
Aliniat – cu TAB
If else sau else/if daca bani in connd<decat de plata print plata esuata
Else – permite sa execut ceva daca aceatsa conditie este falsa – daca asta e falsa fa asta
Else inseamna in cazula sta mai mare sua egal (cu ce este echivalenta condittia else)
Else/if
Merge si cu else if
Elese este pt if ul de deasupra lui, nu pt toate de deasupra lui, doar primul if de de asupra lui- if else este
la iful precedent, nu avem else fara if
Daca e = o face doar pe aceea – afiseaza la limuta si nu maia re treaba cu elseul- ruleaza 3 intrebari doar
daca nu e egal - proces de optimizare
Bucata d ecod s eintampla doar daca nu s-au intamplat celelalte bucati de cod
Nu pot avea un else singur, sua un elif singur – la ce facem else sau elif
Ai nevoie de optimizare
While este ca un if
A=9
B=15
Etse un if
9 si ceva
While fucntioneaza ca un if care la final lui are o linie imaginara care spune mergi la linia 4 – executa o
comanda daca este indeplinita o conditie (cat tinep , nu este pana cand)
Si pune din nou intrebarea se duce mai departe si adunge din nou in bucla
Cat timp while executam aceste 2 linii atat timp cat a este maim mic decat b
Nu este pana cand (nu negam) pana cand nu este acelasi lucru cu cat timp (daca conditia este
adevarata)
Print 1
Print 2
print 3
print a
while patratel
Cursul 4 – 02.11.2023
“*”*5 5 stelute
While
Incrementez – creste
Numar = numar+1
Algoritmica – operatie inchegata transf intr o serie repetata – automatisme- spargerea mai multor psi
inchegati – in mai multe actiuni secventiale = repetabile (for si while) while repeat o linie de mai multe
ori
Suma = 0
Suma = suma+1
Suma = suma + 2
Care e nr initial
<= cu cat
For – este pentru cerintele cand stim de cate ori vrem sa parcurgem
faci ceva pt fiecsare lucru din multimea/colectie respectiva
Colectiile (cos de mere – cosul +mere= lista)- structiuri de date tip colectie
For (variabila care va foi pe rand pentru fiecare ceva din colectie)
For ceva in
E ceva iterabil = structura de date care contine mai multe chestii (colectie) – imi permite sa le pot lua pe
rand pe fiecare. Caac unei coelctii e a lua fkiecare lucru din e a ca sa faci ceva cu ele – colectie iterabila –
cosul cu mere
Design patterns- ce este iterabil, clasa sala si luam fiecare loc sa vedem daca e ocupat
2 numere scrise in range inseamna d ela pana la … capatul dintreapta nu e inclus 1-51 (51 nu e inclus)
() intotdeauna
Treb sa secificam daca vrem sa parcurgem cum – sa scriem din cat in cat numaram
Range (De la, pana la, din cat in cat numaram) FORMULA
Pana unde
Pasul si inversare capete (pas negative sau pozitiv - a fie correct a sa te indrepti catre el) – este o eroare
logica – nu exista numere in range ul respectiv
Cisco
Teams
Vreau sa trec la alt numar indifferent daca nr e par sau impar, indifferent - nu il punem in if ca sa ramana
blocat in el.
5%5 0
Daca negam e sau punem or(sau) - while (e problematic - cat timp nu imi este foame = este o negatiesa il
gandesti ac pana cand- gtresesti. Treb s ail gandestu ca si cat timp)
Cat timp nu se impart amandoua
Not nu e ca o functie 9daca se impart amandoua cat timp nu se impart amandoua - not e pt sat timp n
nu se intampla acel lucru - e cat timp nu e divizibil)
Problema de individualitate
While
Curs 5 07.11.2023
Liste
Daca nu vrem sa lucram cu toti divizorii lucram cu liste - ii stocam in liste pe divizori
Doar daca nr e ar ajungem acolo - de aceea dam print sub for indifferent de cate if uri ai dupa
For 0-n
Contor 1
Nr gasite 0 contot mai mic decat n si gasite <3 atunci if gasite divizibile cu 3 …
Impartite rest 0
Elimini contotul care trece peste el
Data typuri
Ca sa nu afiseze 7+5 ca 75 ci ca 12
A=5
B=7
Terminal=consola
Liste de true si false uri - convertesti in numere 1 si 2 si faci suma acelor numere
True = 1
False = 0
Imputuri - cand le rulezi - nu le poti rula una peste cealalata - tre s adai pe cosul de gunoi ac sa le inchizi
Float il afiseaza pe 3.14 ca numarnu pot aduna numere cus tringuri si te folosesti de o virgula
Le faci numere ca sa poti face operatii si transformi numerele in texte ca sa le poti introduce i text
Ctrl+/
Daca nu dai pe cosul de gunoi va da ca imput in noua aplicatie pe ce a fost in vechea aplicatie
Imputul intoarce deja un strig - un textnu poti aeva string de string
Ca sa pui 14 in textul are 14 ani trebuie sa il transformi in text
Ceea ce scriu la tasattura e un text - deci e un str
3 din codul asci
Este simbolul 3 - ca si text (alt alfaber -indian arabic)
3 numeric este conceptul de 3
Introdu cerea de la tastatura sau testam o aplicatie - testam logica - acolo folosim imput
De la tastatura scrii in consola, nu in interfata
In loc d evariabila = 5 scriem 5 de la tastaura prin imput
{} sunt ca niste .....
este ca un template
Stringuri formatate = template
Format este o functie
Templateul se completeaza prin functie
paramentrii unor functii se separa prin ,
f string „”
f”” ce este {} treb s afie exact numele variabilei - lipeste ambele etape - scrii textul curisv si pui
valorile ca atare - template si apoi formatezi (sari epste pasul asta - inserezi valori in text direct
formatat
formatare si imputuri
exista conceptul de nimic in programare - null in late limbaje in python s enumeste None (este o avloare)
nu e un tip de date, nu e ceva stocat inca - nu avem cu ce sa il comparam
maxim>x
nu putem sa comparam none cu x
curs 6 09.11.2023
nr la puterea 0 = 1
orice nr x 0 = 0
nu opreste un if
duminica 20.18
while true cat timp adevarat e adevarat = true e adevarat tot timpul
continue
la pachet cu brake
se intoarce la a pune intrebarea din while sau for se intoarce la linia de sus si pune intrebarea din nou
functii
functii in functii
definitia unei functii nu presupune executarea unui cood - inveti pe cineva sa fa ca clatite, dar nu el si
face
dupa functie
afisare vs returnare
intorci valoare - pe ecran nu afisezi valorile (in aplicatiile reale) - imi da numele studentului (il gasesc pe
baza valorii calculate)
return = intoareti o valoare / ca si cand calculezi intorcandu te la aceea inie care a apelat
apelul functiei in sine devine aceea valoare, nu este stocata decat daca se defineste valoarea x
ea nu se afla nicaieri
in memoria calculatorului se gaseste acel calcul- functia - black box - nu stii cum face - ci ce face- care e
rezulatatul - te rog s afaci maioneza= nu e stocata, e un apel, cerrerea va insemna maioneza - nu o
stochezi, decizi aici x= cu, valoarea returnata e conceptuala (maioneza
apelul= cerere
are ca rezultat (return ) functiei = este ceea ce a returnatreturneaza 10 dar nu faci nimic cu el - nu il
stochezi, nu il afiezi = potisa il stochezi separat in y
pot sa nu am rezulat
orice expresie are o valoare - de accea null none nimic treb sa fie ca o valoare
executia codului e data mai departe 0- se face legatira cau acceea fucntie- intorc legatura la locul unde
erai cand m ai apelat pe mine
cand se termina functia - return - intoarce codul (retine unde a ramas)- recursivitate
colectii = liste
print ceva
for ceva
functie ceva
curs 7 14.11.2023
treb sa avem grija cand enuim variabila aprametru si ce se printeaza sa nu fie la fel
sa nu me numim a pe amandoua
sa nu coincida ca nume
este ca un soi de else pentru ca daca nu s ein deplineste prima varianta , se trece la alta - adica else nu isi
mai are rostul
definiti o functie care primeste un numar N si afiseaza jocul fizz buzz pana la acel numar
fizz - 3
fizz 6
fizz 9
fizz 12
cele divizibile cu 3
fizz buzz 15
numere prime - presupune ceva si vedem daca este adevarat, presupunem adevarul si incerci sa
presupui ca nu e adevaratt= reducere la absurd in matematica - cu max - presupun ca prim ul elev e cel
mai mare dar ii amsuram si pe cieilalti
doar eu stiu care sunt cifrele componente - factorii primi- greu de calcuat - numere de 20 de cifre - nu e
o formula, poti doar sa le cauti - asa functioneaza banca
computerul quantic gaseste perechea d enumere 9electroni entangled) iei toate numerele de la 1 la 3
trimioane - pt un nr prim de 20 de cifre
2 divixzori - sa ne asiguram ca sunt doar acei 2 divizori - caci toate numerele se divid cu ele si cu 1, dar
cele prime se divid doar cu 2 numere 1 si ele isele
sa gasim 0 divizori
si incercam sa o sortam
la liste
numar palindrom
in oglinda
functia palindrom care priemste un numar si iti returneaza true sau false
pass e o functie goala ca sa nu dea eroare si pui ecva dupa cand te hotarasti
cifrele unui numar - ceva mode 10- %10 voi vedea cu virgula - obtin ultima cifra
gandire algoritmica