Садржај
Елементи програмирања
Рад са низовима података

Увод у Џупитер (Jupyter)

У овој лекцији научићеш:

  1. шта је Џупитер (Jupyter), како се крећеш кроз Џупитер радну свеску (Jupyter Notebook) и како се Џупитер радна свеска користи за рачунање израза,

  2. како се у Џупитеру користе променљиве и како се радна свеска користи покретање мањих Пајтон (Python) програма и

  3. шта су библиотеке функција и како се позивају функције из стандардних библиотека.

Препоручујемо да ову лекцију покренеш на свом рачунару тако што ћеш у фолдеру за рад офлајн покренути Џупитер свеску 01_Uvod.ipynb, на начин на који је то објашњено у поглављу Покретање Џупитер радних свески у уводу овог приручника, или тако што ћеш отићи на овај линк и тамо радити задатке.

Џупитер (Jupyter) уме да рачуна

Џупитер (Jupyter) је интерактивна радна свеска у коју можеш да уносиш текст (као текст ког управо читаш), да рачунаш, да покрећеш једноставније Пајтон програме, да обрађујеш податке, да приказујеш податке у виду табеле и дијаграма, и још много тога.

Свака Џупитер радна свеска се састоји из низа ћелија, а свака ћелија може да садржи текст, математички израз или низ Пајтон наредби. За сада нећемо објашњавати како се у Џупитер ћелију уноси текст, већ ћемо пажњу усмерити на рачунање израза и извршавање Пајтон наредби.

Када се у Џупитер ћелију унесе неки израз или Пајтон наредба - садржај ћелије се може израчунати тако што се кликне на дугме Run при врху стране…

../_images/JupyterMenuRun.jpg

.…или се на тастатури притисне [CTRL]+[ENTER].

Ево примера:

In [1]: 3 * 19
Out[1]: 57

In [2]: (12 + 51) * 14
Out[2]: 882

In [3]: 2**(5**3)
Out[3]: 42535295865117307932921825928971026432

Да се подсетимо, две звездице у Пајтону означавају степеновање.

Џупитер уме да користи променљиве и да извршава Пајтон команде

Понекад је згодно именовати вредности, поготово ако се ради о компликованим бројевима као што је то \(\pi\) или када се ради о компликованим изразима. Те вредности касније можемо да користимо тако што наведемо име које смо им дали. На пример, процењује се да је на дан 1.7.2019. на свету било 7.714.576.923 људи. Наредба:

BrLjudiNaSvetu_2019 = 7714576923

ће у систем увести нову променљиву: BrLjudiNaSvetu_2019 којој ће бити додељена вредност 7714576923. Да се подсетимо: имена променљивих у Пајтону морају да почну словом и могу да садрже слова, цифре и специјални знак _ (доња црта).

In [4]: BrLjudiNaSvetu_2019 = 7714576923

Након извршавања ове ћелије систем неће вратити никакав одговор. Просто је запамтио да променљива BrLjudiNaSvetu_2019 има вредност 7.714.576.923. Процењује се да 27,8% становништва света живи у градовима. То значи да у градовима живи оволико људи:

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

Приметимо да се приликом записивања децималних бројева у Пајтону користи децимална тачка, а не децимални зарез, како је то прописано нашим правописом! Хајде сада да решимо још један задатак.

Библиотеке функција

У модерним програмским језицима, а Пајтон је један од њих, могу да се ураде невероватне ствари зато што долазе са обиљем функција које су већ испрограмиране. Тако се кориснику система (или програмеру) умногоме олакшава живот јер већина ствари које просечном кориснику требају већ су испрограмиране, само треба наћи одговарајућу функцију!

Да би се корисници лакше снашли у овом обиљу, све функције које долазе уз програмски језик (односно, одговарајуће окружење) су груписане у библиотеке функција.

Рецимо, библиотека математичких функција се зове math. Она садржи функције као што су sqrt (која рачуна квадратни корен), sin (која рачуна синус угла) и cos (која рачуна косинус угла), али и математичке константе као што је pi (која представља добру апроксимацију броја \(\pi\)).

На пример, програм који рачуна обим круга датог полупречника изгледа овако:

In [6]: from math import pi
   ...: r = 12
   ...: obim = 2 * r * pi
   ...: print("Obim kruga je:", obim)
   ...: 
Obim kruga je: 75.39822368615503

Први ред у овом програму показује како се из неке библиотеке може увести функција или константа која нам је потребна. Наредба:

from math import pi

дословно значи: из библиотеке math увези појам pi. Тиме смо у програм увели име pi и слободно можемо да га користимо.

Ево још једног примера. Написаћемо Пајтон програм који одређује хипотенузу \(c\) правоуглог троугла ако знамо његове катете \(a\) и \(b\). (Да се подсетимо, према Питагориној теореми је \(c = \sqrt{a^2 + b^2}\).)

За овај програм ће нам требати функција sqrt која рачуна корен неког броја и која се такође налази у библиотеци math.

In [7]: from math import sqrt
   ...: a = 10
   ...: b = 15
   ...: c = sqrt(a**2 + b**2)
   ...: print("Hipotenuza c je:", c)
   ...: 
Hipotenuza c je: 18.027756377319946

Ево и кратког видеа који илуструје оно што смо до сада видели:

Рад са интерактивним окружењима нам омогућује да уместо целих програма пишемо „парчиће“ кода које можемо да мењамо како нам одговара и да их извршавамо колико год пута желимо. Тако се лакше експериментише са подацима (што је важан део модерног разумевања обраде података и о томе ћемо причати касније), и штеди време. Тада углавном не користимо наредбу input за учитавање података од корисника већ директно у кôд унесемо вредности које нас интересују.

Претходни проблем (рачунање хипотенузе правоуглог троугла) можемо да решимо и овако:

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

Наредба a, b = 3, 4 значи да ће а добити вредност 3, а b вредност 4. Резултат извршавања ћелије је вредност израза sqrt(a**2 + b**2).

Ако нам у неком тренутку затреба нова празна ћелија, можемо да је додамо радној свесци овако:

Задаци

За вежбу покрени Џупитер окружење и реши задатке из радне свеске J01.ipynb

(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+