1. Hyrje në Jupyter

Në këtë leksion ne demonstrojmë:

  1. çfarë është Jupyter, si të lundroni nëpër Jupyter notebook dhe si të përdorni Jupyter si të përdorni shprehjet Python;
  2. si të përdoren variablat në Jupyter dhe si të ekzekutohen programe të vogla Python; dhe
  3. cilat janë libraritë dhe si të përdoren funksionet e siguruara nga libraria standarde.

1.1. Jupyter bën aritmetikë

Jupyter është një mjedis interaktiv në të cilin mund të futni disa tekst (ashtu si teksti që po lexoni tani), të vlerësoni shprehjet aritmetike, të ekzekutoni programe Python, të analizoni të dhënat, të paraqisni të dhëna si tabela dhe diagrame, dhe shumë, shumë më tepër.

Secili notebook i Jupyter përbëhet nga cells, dhe secila qelizë mban disa tekst, një shprehje matematikore ose një program Python. Për momentin ne do të përmbahemi nga shpjegimi se si të futni tekst në qelizat e Jupyter notebook. Në vend të kësaj, ne do të përqendrohemi në evazimin e shprehjeve dhe drejtimin e programeve Python.

Kur futni ndonjë shprehje ose një program Python në një qelizë, qeliza mund të vlerësohet duke klikuar butonin Run:

Evaluating a cell

ose shtypni [CTRL]+[ENTER]

Për shembull:

In [1]:
3 * 19
Out[1]:
57
In [2]:
(12 + 51) * 14
Out[2]:
882
In [3]:
2**(5**3)
Out[3]:
42535295865117307932921825928971026432

Le të kujtojmë se dy asterisks në Python qëndrojnë për eksponim.

1.2. Jupyter can execute Python commands

Ndonjëherë është e përshtatshme të emërtojmë vlera, veçanërisht në rast se po flasim për disa numra të komplikuar siç janë $ \ pi $ ose disa shprehje të ndërlikuara. Ne më vonë mund t'u referohemi atyre vlerave duke shtypur thjesht ato vlera që u kemi dhënë. Për shembull, popullsia e vlerësuar e Tokës më 1 korrik 2019 është 7,714,576,923. Komanda e Python

WorldPopulation_2019 = 7714576923

do të prezantojë në sistem një variabël të re WorldPopulation_2019 dhe do t'i caktojë asaj vlerën 7714576923. Le të kujtojmë: emrat e variablave në Python duhet të fillojnë me një shkronjë dhe mund të përmbajnë shkronja, shifra dhe simbolin e veçantë _ .

In [4]:
WorldPopulation_2019 = 7714576923

Pas ekzekutimit të kësaj qelize nuk merrni asnjë përgjigje nga sistemi. Jupyter thjesht ka memorizuar se vlera e variablës WorldPopulation_2019 është 7,714,576,923. Vlerësohet se 27.8% e popullsisë botërore jeton në qytete. Prandaj, ky shumë njerëz jetojnë në qytete:

In [5]:
WorldPopulation_2019 * 27.8 / 100
Out[5]:
2144652384.5939999

Le të kujtojmë: fjala percent vjen nga Latinisht pro centum që do të thotë "në njëqind". Kjo eshte pse

$$ 47\% = \frac{47}{100} = \text{fourty-seven percent}. $$

Për shembull, janë 856 nxënës në një shkollë dhe 25% e tyre janë studentë A. Sa studentë ka në shkollë?

Përgjigje. Në shkollë janë 214 A nxënës sepse $$ 856 \cdot 25\% = 856 \cdot \frac{25}{100} = 214. $$

Ekzistojnë 326 nxënës B në të njëjtën shkollë. Sa përqind bën kjo?

Përgjigje. Supozojmë se kjo bën $ x \% $ të të gjithë nxënësve në shkollë. atëherë $$ 856 \cdot x\% = 856 \cdot \frac{x}{100} = 326. $$ Zgjidhja për $x$ jep: $$ x = \frac{326 \cdot 100}{856} \approx 38.08. $$ Prandaj, afërsisht $ 38.08 \% $ e studentëve në shkollë janë studentë B.

Le të zgjidhim në problem tjetër.

Ushtrim. Maria dëshironte të blinte një palë pantallona, çmimi i të cilave ishte \ 6.799.99 $, por mamaja e saj tha që kjo ishte shumë. Mary priti sezonin e shitjeve dhe herën tjetër që shkoi në dyqan pantallonat ishin me 25% ulje. Kjo e bindi Mamin e Marisë që t’i blejë pantallonat. Në arkëtar u befasuan këndshëm kur mësuan se ata kishin të drejtë për një zbritje shtesë prej 3% në pantallonat tashmë me zbritje. Cili ishte çmimi përfundimtar i pantallonave?

In [6]:
price = 6799.99
discount1 = price * 25 / 100
new_price = price - discount1
discount2 = new_price * 3 / 100
new_price - discount2
Out[6]:
4946.992725

Katër udhëzimet e para caktojnë disa vlera për disa variabla. Rreshti i fundit në qelizën e mësipërme përmban një shprehje. Meqenëse jemi në një mjedis interaktiv, shprehjet vlerësohen menjëherë dhe rezultati i drejtimit të qelizës është vlera e shprehjes së fundit në qelizë.

Në vend të kësaj, ne mund të kishim shkruar kodin si ky:

In [7]:
price = 6799.99
discount1 = price * 25 / 100
new_price = price - discount1
discount2 = new_price * 3 / 100
print("The price after all the discounts is $", new_price - discount2, sep="")
The price after all the discounts is $4946.992725

Këtë herë udhëzimi print printon vlerat e shprehjes bashkë me tekst dekorativ ndërsa sistemi nuk djeg asgjë si rezultat i ekzekutimit të qelizës (nuk ka përgjigje të sistemit në formën eOut []:).

Ndërsa punojmë me mjedise interaktive është e përshtatshme të pranojmë mënyrën e mëposhtme: ne përdorim "print" vetëm kur duhet të shfaqim disa vlera menjëherë ose nëse dëshirojmë të japim një shpjegim, siç kemi bërë në shembullin e fundit.

1.3. Libraritë

Në gjuhët moderne të programimit, dhe Python është një prej tyre, ne mund të bëjmë gjëra të jashtëzakonshme thjesht sepse të gjitha ato vijnë me një numër funksionesh që dikush tashmë ka përgatitur për ne. Kjo e bën jetën tonë shumë më të lehtë: shumica e gjërave për të cilat përdoruesit mesatare (dhe shumë mesatarë) kanë nevojë për tanimë janë siguruar. Thjesht duhet t'i gjejmë ato!

Meqenëse po flasim për mijëra funksione, fjalë për fjalë, të gjitha ato janë organizuar dhe paketuar në librari të funksioneve. Për shembull, libraria e funksioneve të matematikës, e quajtur "math", është befasuese. Aty mund të gjejmë funksione të tilla si sqrt (që llogarit rrënjën katrore),sin (që llogarit sinuset e një këndi) dhe cos (që llogarit cosinuset e një këndi), por edhe konstante siç janëpi (që është, natyrisht, një përllogaritje e $ \ pi $).

Për shembull, llogarit perimetrin e një rrethi:

In [8]:
from math import pi
r = float(input("Enter radius: "))
obim = 2 * r * pi
print("The circumference is:", obim)
Enter radius: 10
The circumference is: 62.83185307179586

Rreshti i parë në këtë shembull tregon se si të importoni një element të veçantë nga një librari:

from math import pi

udhëzon mjedisin që të gjejë librarinë math dhe të importojëpi prej saj.

Këtu vjen një shembull tjetër. Ne do të shkruajmë një program Python i cili llogarit hipotenuzën $c$ të një trekëndëshi të drejtë duke pasur parasysh këmbët e tij një $a$ dhe $b$. Kujtoni se, nga Pythagoras, $c = \ sqrt {a ^ 2 + b ^ 2}$.

Ne kemi nevojë qartë për funksionin sqrt që llogarit rrënjën katrore të një numri. Është e vendosur në librarinë math, natyrisht.

In [9]:
from math import sqrt
a = float(input("a = "))
b = float(input("b = "))
c = sqrt(a**2 + b**2)
print("c =", c)
a = 6
b = 8
c = 10.0

Dy shembujt e fundit ishin programe të plota kompjuterike: ne morëm hyrjen nga përdoruesi duke përdorur komandën input, përpunuam të dhënat dhe pastaj shfaqëm rezultatet duke përdorur print.

Sidoqoftë, të punosh në mjedisin interaktiv na bën të mundur që të punojmë me copa kodi që mund t’i modifikojmë dhe ekzekutojmë sa herë që na pëlqen. Ne lehtë mund të eksperimentojmë me të dhënat, i cili është një pjesë e rëndësishme e të kuptuarit të analizës së të dhënave moderne. Në vend që të përdorim komandën input, ne u caktojmë vlerave variablave direkt në program, bëjmë analizën, ndryshojmë vlerat e caktuara në ndryshore, ekzekutojmë përsëri analizën dhe përsërisim procesin sa më shumë herë që është e nevojshme.

Kjo mënyrë e përdorur për shembullin e fundit (llogaritja e hipotenuzës së një trekëndëshi të drejtë) jep kodin e mëposhtëm:

In [10]:
from math import sqrt
a, b = 3, 4
sqrt(a**2 + b**2)
Out[10]:
5.0

Assignment a, b = 3, 4 means that a becomes 3, while b becomes 4. The output of running the cell is the value of the expression sqrt(a**2 + b**2).

1.4. Ushtrime

Ushtrimi 1.

(a) Çmimi i një libri ishte 24.60 EUR, dhe më pas libraria uli çmimet e të gjithë librave me 20%. Cili është çmimi i ri i librit?

(b) Pas uljes së çmimit, çmimi i një libri tjetër në të njëjtën librari ishte 14.80 EUR. Cili ishte çmimi i librit para uljes?

Ushtrimi 2. Vlerësohet se më 1 korrik 2019 popullsia e Kinës ishte 1,420,062,022. Është vlerësuar gjithashtu se popullsia e Kinës rritet me 0.35% në vit. Vlerësoni popullsinë e Kinës në vitin 2025 nën supozimin se këto parametra nuk do të ndryshojnë.

In [ ]:

Ushtrimi 3. Vlerësohet se më 1 korrik 2019 popullsia e Kinës ishte 1,420,062,022 dhe popullsia e Indisë ishte 1,368,737,513. Është vlerësuar gjithashtu se popullsia e Kinës rritet me 0.35% në vit, ndërsa popullsia e Indisë rritet me 1.08% në vit. Në sa vite do të arrijë India të kapërcejë Kinën?

In [ ]:

Ushtrimi 4. Shkruani një program Python që llogarit fushën e një rrethi duke pasur parasysh rrezen e tij.

In [ ]:

Ushtrimi 5. Distanca midis pikave $A(x_1, y_1)$ dhe $B(x_2, y_2)$ të dhëna nga koordinatat e tyre në rrafshin Euklidian mund të llogariten duke përdorur formulën

$$d(A, B) = \sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}$$

Shkruani një program Python që lexon koordinatat e dy pikave dhe llogarit dhe pastaj shtyp distancën e tyre.

In [ ]:

Ushtrimi 6. Faktoriali i një numri të plotë pozitiv $n$ është produkt i të gjithë numrave të plotë nga 1 në $n$:

$$n! = 1 \cdot 2 \cdot 3 \cdot \dots \cdot n.$$

Llogaritni 200! dhe gjeni numrin e zerave me të cilat përfundon. (Ndihmë: libraria math përmban funksionin factorial që mund të jetë ndihmël.)

In [ ]:

Ushtrimi 7. Përdorimi i pjesës së kodit Python të dhënë në qelizën më poshtë gjeni të paktën një palë numra të tjerë pozitivë një $a$ dhe $b$ të tillë që hipotenuza e një trekëndëshi të drejtë me këmbë $a$ dhe $b$ është gjithashtu një numër i plotë. Në vend të 3, 4 shkruani një kombinim tjetër të numrave të plotë dhe ekzekutoni qelizën. Luaj me numra!

In [ ]:
from math import sqrt
a, b = 3, 4
sqrt(a**2 + b**2)
© 2019 Petlja.org Creative Commons License