Пајтон програми¶
Као што смо видели у поглављу о Карелу, програми се састоје од наредби. Погледајмо неке од основних наредби у Пајтону, које ћемо користити за писање првих програма.
Додељивање вредности променљивој¶
Променљиве су именовани простор у меморији рачунара, у који можемо да сместимо вредност било које врсте (број, текст, логичку вредност или нешто друго). У променљиве често смештамо међурезултате (помоћне резултате) при рачунању. Када покренемо Пајтон шкољку, можемо једном наредбом да доделимо вредност некој променљивој, а затим да користимо вредност те променљиве у наредним командама. На пример:
>>> osnova = 6*8
>>> osnova
48
>>> osnova * 1.5
72.0
>>> osnova * 1.6
76.80000000000001
Наредба додељивања вредности
Наредба додељивања вредности се пише тако што напишемо име променљиве, затим знак једнакости, а онда израз чију вредност додељујемо променљивој. Целе и реалне бројеве такође сматрамо за изразе (то су најједноставнији могући изрази).
Имена променљивих
Према правилима писања програма, имена променљивих (као и друга имена у програмима које пишемо) могу да се састоје од малих и великих слова, доње црте и цифара, с тим да не могу да почну цифром.
Пајтон прави разлику између малих и великих слова. N и n су различита имена и ако бисмо оба користили, она би представљала две различите променљиве.
Име променљиве може бити дугачко колико нам је потребно.
При писању програма (или појединачних наредби) се трудимо да променљивама дамо смислена имена, да би наредбе и програми били што јаснији.
У пајтону је уобичајен стил да се велика слова не користе (иако су дозвољена), а када се име састоји од више речи, те речи се раздвајају доњом цртом, на пример cena_jednog_komada. Цифре се у именима користе када то има смисла (што није често).
Имена променљивих - проверите разумевање:
-
Q-6: Упарите предложена имена променљивих са одговорима.
Покушајте поново!
- 2_datum
- неисправнo, почиње недозвољеним знаком
- ljubimac_br_2
- исправно име
- stanje_u_23:59
- неисправнo, садржи недозвољени знак
- pRoMeNlJiVa
- а1
- 2D_grafika
- _3D_grafika
- ljubimac-br-2
Q-7: Шта све од наведеног може да буде име променљиве?
Исписивање вредности из програма¶
При интерактивном раду је довољно да унесемо израз да бисмо видели његову вредност, али из програма не можемо да користимо такав начин. Да бисмо нешто исписали из програма, користимо функцију print(). За сада ћемо се ограничити на најједноставније начине употребе ове функције.
Израз чију вредност желимо да испишемо, наводимо између заграда, на пример:
>>> print(2 + 2)
4
>>>
Једним позивом Функције print() можемо да испишемо и више вредности. Изразе чије вредности желимо да испишемо, наводимо између заграда раздвојене зарезима, на пример:
>>> a = 10
>>> b = 20
>>> obim = 2*a + 2*b
>>> povrsina = a*b
>>> print(obim, povrsina)
60 200
>>>
Са функцијама смо се већ сретали у поглављима о Карелу, препознајемо их по заградама иза имена. Подсетимо се, податке које наводимо између заграда називамо параметри или аргументи функције. О функцијама ћемо ускоро причати опширније.
Покретање програма¶
Покретање програма из браузера
Да бисмо вам олакшали почетак учења, користећи ActiveCode технологију пројекта Runestone Interactive , омогућили смо вам да покрећете Пајтон програме у веб странама овог курса. На пример, испод се налазе наредбе које смо претходно уносили интерактивно, али овај пут написане као програм. Програм можете да покренете кликом на дугме „Покрени програм”.
Покретање програма из окружења IDLE
Препоручујемо вам да поред писања програма у овим веб страницама барем повремено покрећете програме и у IDLE окружењу. Навикавање на окружење IDLE је важно да бисте постали самосталнији у програмирању.
Када покренете програм IDLE, отворите интегрисани едитор текста (мени File / New File) и у њему откуцајте претходни (или неки други) програм.
Када завршите програм, сачувајте га (мени File / Save), а затим га покрените (мени Run / Run Module).

Резултат ћете видети у прозору интерактивне шкољке.
Покретање програма из онлајн окружења
Још један начин да покренете свој Пајтон програм је да користите неко од онлајн окружења за програмирање. Једно такво окружење је https://repl.it/ .

Кликните на дугме + new repl
, одаберите језик Пајтон (Python) и кликните Create repl
. У вашем веб браузеру ће се отворити страна у којој можете да откуцате програм и да га покренете.

Грешке у програмима¶
Понекада ће се дешавати да неку наредбу у програму не откуцате тачно по правилима писања наредби на језику Пајтон. У таквом случају Пајтон интерпретер не може да разуме наредбу и добијате поруку о грешци. Свако окружење за извршавање програма пријављује грешку на нешто другачији начин, али свако од њих каже у којој линији програма је дошло до грешке и о којој врсти грешке се ради.
Појава грешака не треба да вас брине, јер је то уобичајена ствар и дешава се и искусним програмерима. Пажљиво погледајте поруку, потрудите се да разумете шта је погрешно, затим то исправите и покрените програм поново. Разумевање порука о грешкама је саставни део програмирања и може да се увежба се као и многе друге вештине.
Да бисте лакше разумели поруке о грешкама које ћете добијати (а и да бисте се ослободили евентуалног страха од грешке), препоручујемо да сада пробате намерно да направите неке мале грешке, које би иначе могле да вам се поткраду при писању програма.
Када направите неколико намерних грешака, научићете како изгледају одговарајуће поруке о грешци и биће вам лакше да схватите у чему је проблем када се те поруке касније појаве због ненамерних грешака.
Испробајте неке грешке овде:
Ми смо вам такође припремили неколико програма са намерно учињеним грешкама, које затим објашњавамо. Програми су кратки да би грешке биле уочљивије, али и у дужим програмима исправљање грешака је скоро исто. Пошто порука о грешци садржи број линије програма у којој се грешка налази, у дужим програмима само треба прво наћи поменуту линију програма и погледати ту (и евентуално претходну) линију.
Покрените сваки од наредних програма, затим погледајте поруку о грешци и објашњење.
Порука каже да је грешка типа NameError (грешка имена). То значи да неко од имена у поменутој линији није познато Пајтон интерпретеру (није дефинисано). Примећујемо да име функције print није тачно написано (а функција prit не постоји). Убацивањем слова n грешка се исправља и програм ради.
Грешка је истог типа, само се овај пут односи на име zbirr. Уклањањем сувишног слова r програм постаје исправан.
Грешка је типа SyntaxError (синтаксна грешка), што значи да нису поштована правила писања на Пајтону. У овом случају недостаје зарез између a и b.
Још једна синтаксна грешка. Поново нису испоштована правила писања, а овај пут недостају заграде.
Грешка је типа ZeroDivisionError (грешка дељења нулом). Ова грешка је другачија од претходних, јер је наредба правилно написана и интерпретер ју је растумачио. Међутим, приликом извршвања ове наредбе дошло је до дељења нулом, што није дозвољена операција. Програм треба писати тако да не долази до ситуације у којој се покушава дељење нулом. Исправка у овом случају зависи од тога шта желимо да наш програм ради у оваквој сиуацији. Једна могућност је да пре дељења проверимо да ли је делилац једнак нули.
Проверите да ли сте разумели ова три типа грешке, тако што ћете одговорити на питање.
-
Q-8: Упари тип грешке са програмом.
Покушајте поново!
- SyntaxError
- print(3*(2+2)
- NameError
- а=3print(a / b)
- ZeroDivisionError
- b=3//6print(3 // b)