Python 2
Python 2
1. Teorie
1.1 Valori
Cand vorbim de value ne referim lucru precum un numar sau o litera pe care un
program il poate manipula.
Ex. de value: 4 (rezultatul de la 2+ 2) sau "Hello, world!"
Aceste values sunt clasificate in clase sau tipuri de date: 4 este intreg, "Hello,
words!" este un string (deoarece contine un sir de caractere).
Un string este identificat de interpretor datorita ghilimelelor.
Pentru a afla tipul unei date, folosim functia __type__ care returneaza tipul valorii pe
care o primeste ca parametru
In [2]:
type('Hello, world!')
Out[2]:
str
In [3]:
type(10)
Out[3]:
int
String apartine clasei str iar integer clasei int. Numerele cu virgula apartin clasei
float (de la formatul zecimal -floating point).
La acest nivel, putem sa folosim ambii teremeni: clasa sau tip de date.
In [3]:
type(1.2)
Out[3]:
float
In [4]:
type("2.3")
Out[4]:
str
In [5]:
type("2")
Out[5]:
str
Sirurile in Python pot fi demarcate de apostrof ('), ghilimele (") sau ('''), (""")
Python nu tine cont daca sirul este demarcat de ghilimele, sau apostrof sau 3
ghilimele.
In [6]:
Out[6]:
str
In [7]:
Out[7]:
str
In [8]:
type('''Si acesta''')
Out[8]:
str
In [9]:
type("""Sau acesta""")
Out[9]:
str
In interiorul ghilimelelor se pot folosi apostrof _"New Year's Eve"_, iar in interiorul
unui sir demarcat de apostrufuri se pot folosi ghilimele
In [11]:
Out[11]:
In [12]:
Out[12]:
Out[13]:
In [14]:
40, 000
Out[14]:
(40, 0)
In [15]:
40000
Out[15]:
40000
In [3]:
Out[3]:
In [4]:
str(4)
Out[4]:
'4'
'5'
Out[5]:
'5'
In [6]:
int('5')
Out[6]:
In [7]:
str(1024)
Out[7]:
'1024'
In [8]:
int('wow')
---------------------------------------------------------
------------------
ValueError Traceback (most
recent call last)
<ipython-input-8-b3dd29f1c402> in <module>
----> 1 int('wow')
int(3.4)
Out[9]:
In [10]:
int('3.4')
---------------------------------------------------------
------------------
ValueError Traceback (most
recent call last)
<ipython-input-10-5e199bebc801> in <module>
----> 1 int('3.4')
In Python, nici 'wow', nici '3.4' nu reprezinta expresii valide pentru integer.
Operatorul "+" lucreaza diferit pentru numere intregi si pentru siruri. </font>
In [23]:
5 + 10
Out[23]:
15
In [24]:
'5' + '10'
Out[24]:
'510'
In [13]:
'abc' + 'xyz'
Out[13]:
'abcxyz'
In [14]:
'5' + 10
---------------------------------------------------------
------------------
TypeError Traceback (most
recent call last)
<ipython-input-14-3462b9f136f4> in <module>
----> 1 '5' + 10
In [22]:
5 + int('10')
Out[22]:
15
In [16]:
'5' + str(10)
Out[16]:
'510'
type(4+7)
Out[17]:
int
In [18]:
type('4'+'7')
Out[18]:
str
In [19]:
Out[19]:
int
In [21]:
type(int('3') + int(4))
Out[21]:
int
1.2 Variabile
__Varibila__ este un nume care se refera la o valoare. Prin operatia de atribuire ("="),
variabila primeste o valoare.
In [25]:
a='Hello, FIM!'
b=16
pi=3.14159
Pe prima linie, variabilaa a primit valoarea Hello, FIM!.
Pe cea de a 2a, variabila b a primit valoarea 16 si pe cea de-a 3 a linie, variabila pi a
primit valoarea 3.14159
Operatorul "=" este folosit pentru atribuire si nu pentru egal, care este "=="
Operatorul "=" atribuie unui nume (variabila), care se gaseste in partea stanga, o
valoare, care se gaseste in dreapta (intotdeauna). </font>
In [26]:
Out[26]:
'Hello, FIM!'
In [27]:
print(a)
Hello, FIM!
In [28]:
Out[28]:
16
In [29]:
print(b)
16
In [30]:
type(a)
Out[30]:
str
In [31]:
type(b)
Out[31]:
int
In [32]:
type(pi)
Out[32]:
float
In [33]:
5=x
In [34]:
x = 10
print('x = ' + str(x))
x = 20
print('x = ' + str(x))
x = 30
print('x = ' + str(x))
x = 10
x = 20
x = 30
Folosim functia __str__ astfel incat x sa fie vazut ca un string. Astfel, operatorul + va
concatena 2 siruri. </font>
In [ ]:
In [35]:
x = 10
print('x =', x)
x = 20
print('x =', x)
x = 30
print('x =', x)
x = 10
x = 20
x = 30
In [ ]:
print('x =', x)
Functia print accepta 2 parametri: primul parametru 'x=' este un string iar cel de al
2lea este o variabila x.
Functia print permite mai multi parametri de intrare, separati prin virgula. </font>
In [36]:
x, y, z = 100, -45, 0
print('x=',x,' y=',y,' z=',z)
x= 100 y= -45 z= 0
In expresia de mai sus, avem 2 liste (tuple): _x, y, z_ si 100, -45, 0 separate de
virgula.
Primei variabile din prima lista ii este atribuita prima valoare din cea de a 2a lista
(x=100, y=-45, z=0) </font>
In [37]:
a = 10
print('First, variable a has value', a, 'and type', type(a))
a = 'ABC'
print('Now, variable a has value', a, 'and type', type(a))
1.3 Identificatori
Numele variabilei trebuie ales astfel incat sa descrie utilizarea variabilei si sa fie si
usor de citit.
In [ ]:
class=15
pi = 3.14159;
print("Pi =", pi)
print("sau", 3.14, "mai scurt")
Pi = 3.14159
sau 3.14 mai scurt
Caracterele care apar intr-un string sunt literele din alfabet (A-Z, a-z), cifre (0-9),
semne de punctuatie (., :, ,, etc.) si alte simboluri (#, &, %, etc.).
In afara de aceste caractere, se mai pot introduce anumite caractere numite _cod
de control_. Acestea controleaza modul in care textul este afisat pe ecran.
Exemple de cod de control: "\n" -newline, "\t"- tab
In [41]:
print('A\nB\nC')
print('D\tE\tF')
print('WX\bYZ')
print('1\a2\a3\a4\a5\a6')
A
B
C
D E F
WXYZ
123456
x=input()
In [ ]:
In [ ]:
In [ ]:
Astfel, codul de mai sus poate fi scris mai concis, in felul urmator:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
Entry x1? 6
x1 = 6 type: <class 'int'>
Entry x3? x1
x3 = 6 type: <class 'int'>
Entry x5? x6
Traceback (most recent call last):
De asemenea, putem introduce mai multe valori folosind input. Acestea vor fi
despartite prin virgula:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
print('A', end='')
print('B', end='')
print('C', end='')
print()
print('X')
print('Y')
print('Z')
In [ ]:
ABC
X
Y
Z
In [ ]:
In [ ]:
10 15 20 25
10,15,20,25
10152025
10:15:20:25
10-----15-----20-----25
2. Probleme Rezolvate
2.1. Scrieti o functie care calculeaza si afiseaza suma a 2 numere intregi, introduse
de la tastatura.
In [ ]:
def main():
a= eval(input('Introduceti primul numar:'))
b=eval(input('Introduceti al doilea numar:'))
s=a+b
print('Suma numerelor este:',s)
main()
Output
In [ ]:
In [ ]:
def main():
a=eval(input('Introduceti primul numar:'))
b=eval(input('Introduceti al doilea numar:'))
print('Suma dintre',a, 'si', b, 'este', a+b)
main()
Output
In [ ]:
In [ ]:
def main():
a= input('Introduceti primul numar:')
b=input('Introduceti al doilea numar:')
s=a+b
print('Suma numerelor este:',s)
main()
In [ ]:
In [7]: main()
2.2. Scrieţi un program care calculează aria unui cerc de rază dată; valoarea razei se
va citi de la tastatură şi va fi un număr întreg.
In [ ]:
def main():
r= eval(input('Introduceti raza (numar intreg):'))
aria= math.pi*r*r
print('Aria cercului de raza',r, 'este', aria)
main()
In [ ]:
In [ ]:
def main():
gradf=eval(input('Introduceti temperatura in grade Fahrenheit:'))
gradc = (gradf - 32) * 5/ 9;
print('Temperatura in grade Celsius este',gradc)
main()
In [ ]:
In [ ]:
def main():
grad=eval(input('Introduceti unghiul in grade:'))
rad = grad * math.pi / 180;
print('Masura unghiului este de',rad, 'radiani')
main()
In [ ]:
3. Probleme Propuse
3.1. Scrieţi un program care să vă afişeze numele pe ecran, ca şi seria şi grupa, pe
două rânduri succesive.
3.2. Se citeşte un întreg . Scrieţi un program care să afişeze: „Aţi introdus numărul
...”.
3.3. Scrieţi un program care citeşte doi întregi şi calculează produsul lor.
3.4. Scrieţi un program care calculează lungimea unui cerc de rază dată; valoarea
razei se va citi de la tastatură şi va fi un număr întreg.
3.6. Scrieţi un program care transformă măsura unui unghi din radiani în grade.
3.7.Scrieţi programe care calculează arii pentru pătrat, dreptunghi, triunghi.
3.7. Scrieţi programe care calculează volume pentru cub, paralelipiped, piramidă.