Sunteți pe pagina 1din 30

Capitolul 2

Python Fundamentals
Operatori matematici
• + adunare
• - scădere
• * înmulțire
• / impartire
• % modulo - restul împărțirii la un număr
• ** ridicarea la putere
• // floor division - câtul împărțirii la un număr
Operatori de inițializare și auto-operare
• = c=a+b
• += c += a - echivalent cu: c = c + a
• -= c -= a - echivalent cu: c = c - a
• *= c *= a - echivalent cu: c = c * a
• /= c /= a - echivalent cu: c = c / a
Round
Round – poate rotunji atât inferior cât și superior, în funcție de ce margine a intervalului
este mai apropiat numărul dat ca și argument

>>> round(3.3)
3
>>> round(3.6)
4
Ceil & Floor
Ceil – rotunjește în sus
Floor – rotunjește în jos

Ceil & Floor aparțin modulului python numit math. Acest modul trebuie importat in scriptul
nostru înainte să putem apela funcțiile incluse în acesta.

>>> import math


>>> math.ceil(3.3)
4
>>> math.floor(3.3)
3
Printarea pe linie nouă
>>> m = "This string\nspans multiple\nlines"
>>> m
'This string\nspans multiple\nlines'
>>> print(m)
This string
spans multiple
Lines
>>>
Printarea pe linie multipla fără \n
>>> m = """This is
>>> .... a multiline string"""
>>> m
'This is\na multiline string'
>>> print(m)
This is
a multiline string
>>>
Printarea folosind tab (\t)
>>> m = "test1 \t test2"
>>> print(m)
test1 test2
>>>
Printarea ghilimelelor simple & duble
>>> m = "test \'"
>>> print(m)
test '
>>> m = "test \"„
>>> print(m)
test „
>>> m = 'test "‘
>>> print(m)
test "
Printarea backslash în Python
>>> print("Asa se printeaza backslash in Python \\")
Asa se printeaza backslash in Python \

>>> print("Asa nu se printeaza backslash in Python \")


File "<stdin>", line 1
print("Asa nu se printeaza backslash in Python \")
^
SyntaxError: EOL while scanning string literal
Printarea raw string în Python
>>> m=r'C:\Users\Merlin\Documents\Spells‘
>>> print(m)
C:\Users\Merlin\Documents\Spells
>>> m=r"test'test„
>>> print(m)
test'test
>>> m=r'test"test‘
>>> print(m)
test"test
>>> m='test\test'
>>> print(m)
test est
Operatori decizionali
== operator decizional de egalitate
!= operator decizional de inegalitate
< operator decizional mai mic decat
> operator decizional mai mare decat
<= operator decizional mai mic sau egal
>= operator decizional mai mare sau egal

Q: Ce tip de date vor returna acești operatori?


Operatori decizionali
>>> g = 20
>>> g == 20
True
>>> g == 13
False
>>> g != 20
False
>>> g != 13
True
>>> “telacad” == “telacad”
True
Operatori logici
and – returnează adevărat dacă ambele expresii atât din stânga cât și din dreapta sunt
adevarate
or – returnează adevărat dacă cel putin una dintre expresiile din stânga sau din dreapta sunt
adevarate
not – negație (schimba valoarea booleană curentă)
Operatori logici
print((9 > 7) and (2 < 4)) => True

print((8 == 8) or (6 != 6)) => True

print(not(3 <= 1)) => True


Structura de control decizională IF
if expresie:
print(“expresia este adevarata”)

• Expresia este convertită la bool și evaluată


• Putem observa că indentarea preferată în python este de 4 spații – obținută cu ajutorul TAB
Structura de control decizională IF
>>> if True:
print("expresia este adevarata")
>>>
expresia este adevarata

>>> if False:
print("expresia nu este evaluata si nimic nu est printat")
Structura de control decizională IF
>>> if bool("telacad"):
print("expresia este evaluata")
>>>
expresia este evaluata
>>>
>>> if "telacad":
print("expresia este evaluata")
>>>
expresia este evaluata
>>>
Imbricarea IF
>>>if inaltimea > 50:
print("Inaltimea este mai mare decat 50")
else:
if inaltimea < 20:
print("Inaltimea este mai mica decat 20")
else:
print("Inaltimea este intre 20 si 50")
>>>
inaltimea este intre 20 si 50
Structura IF-ELIF-ELSE
>>> if inaltimea > 50:
print("Inaltimea este mai mare decat 50")
elif inaltimea < 20:
print("Inaltimea este mai mica decat 20")
else:
print("Inaltimea este intre 20 si 50")
>>>
Inaltimea este intre 20 si 50
>>>
• Structura IF-ELIF-ELSE POATE oferi o claritate mai ridicată codului, în funcție de
circumstanțe, în detrimentul imbricării IF-urilor
Structuri de control repetitive
Structura WHILE
>>>while expresie:
print(“bucla continua - cat timp expresia este adevarata”)

• Expresia este convertită la bool și evaluată


• În cadrul instrucțiunilor din buclă trebuie să includem instrucțiuni care să schimbe valoarea
de adevăr a expresiei evaluate
Structura WHILE
>>> c = 5
>>> while c:
print(c)
c -= 1
>>>
5
4
3
2
1
Break & continue în bucle

Break - termină execuția buclei ieșind din ea și continuând programul din care această buclă
face parte
Continue – întrerupe iterația curentă a buclei și trece la următoarea iterație
Break
>>>while True:
if expresie:
break
print(“Aici am ajuns iesind din bucla while cu break”)
Continue
>>>while expresie_1:
if expresie_1:
continue
print(“Acest text nu va fi printat”)
Structuri de control repetitive
Structura FOR
>>> for i in range(5): (parcurgem o secventa de numere)
print(i)
>>>
0
1
2
3
4
>>>
Structura FOR
>>> # Measure some strings:
>>> words = ['cat', 'window', 'defenestrate']
(parcurgem o secventa de cuvinte)
>>> for w in words:
print(w, len(w))
>>>...
cat 3
window 6
defenestrate 12
>>>
Exerciții
1. Folosind WHILE citiți input de la tastatură până când acesta este egal cu ”telacad”. În
momentul în care această condiție este îndeplinită, ieșiți din buclă și apoi afișați mesajul
“Sfarsitul programului”.

2. Captați de la utilizator input, convertiți-l în integer și verificați dacă e mai mare ca 2. Dacă nu,
cereți alt input până este introdusă o valoare mai mare decât 2, apoi calculați suma de la 1
până la valoarea introdusă de utilizator: 1+2+...+n.

3. Verificați dacă inputul de la user este “telacad”. În caz contrar cereți în mod repetat
reintroducerea – când inputul este cel dorit, afișați elementele acestei liste [“telacad”, “peste
10 ani vechime”, “predare”,“cursuri oline”] într-un singur string concatenat (cu spații între
cuvinte).
Exercitii
4. x = numarul vostru la începutul programului. Dacă este integer adunați 3, dacă este float
împarțiti-l pe x la 2 iar dacă este imaginar extrageți partea reală, partea imaginară și calculați
modulul. Afișati rezultatul pentru fiecare operație. (folosiți “isinstance()” pentru această
comparație)

5. Citiți o valoare de la tastatură și efectuați următoarele verificări - dacă e mai mare ca 10


afișați “numarul este mai mare ca 10”. Dacă este între 5 și 10 afișați “numarul este intre 5 si
10” iar dacă este mai mic ca 5 afișați “numarul este mai mic ca 5”.
Exercitii optionale
1. Verificați dacă un număr introdus de utilizator este par sau impar.
2. Verificați dacă un număr este prim.
3. Afișați primele 5 numere din șirul lui fibonacci fără să folosim recursivitatea ci doar bucle
(for, while)

S-ar putea să vă placă și