2: Променљиве


Променљиве служе као “складишта” за податке у програму. Помоћу њих можете дати имена информацијама за каснију употребу. Свака променљива има име; пример имена променљиве коју ћемо ми користити је srecanBroj. Да бисмо сачували информацију у променљивој, пишемо команду користећи знак једнакости, на следећи начин:

«име променљиве»  = «вредност коју желимо да сачувамо»

(Користимо «дупле угласте заграде» у нашој лекцији, као изнад, да означимо одређену синтаксу.) На пример, Python ред

srecanBroj =13

чува вредност 13 у променљивој srecanBroj. Онда, где год да поново напишете име променљиве, Python враћа сачувану вредност. Испод је кратак пример коришћења променљивих. Ту имамо више од једне линије кода: Python извршава први ред, потом други итд. све док не стигне до последњег реда. Притисните дугме Run program да бисте видели шта ради.

 

Пример: коришћење променљиве

 

Вежба кодирања: Променљиве
 Дефинишите променљиву x са вредношћу 18. Увећати x за 15, па степеновати са 3.Затим дефинишите променљиву y са вредношћу 54, и саберите x и y

Циљ: утврђивање коначних вредности свих променљивих на крају програма.

prvi = 2

drugi = 3  

treci = prvi * drugi

drugi = treci - prvi

prvi = prvi + drugi + treci

treci = drugi * prvi

Идеја: Користимо табелу да пратимо вредности док се мењају. На дну су коначне вредности.

 

исказ                                                                                                          вредност након што се исказ изврши

prvi drugi treci
prvi = 2 2
drugi = 3 2     3
treci = prvi * drugi 2     3           6
drugi = treci - prvi 2     3 4           6
prvi = prvi + drugi + treci 2 12     4           6
treci = drugi * prvi 12     4         6 48

Тако је на крају програма ситуација следећа: вредност prvi je 12, вредност drugi je 4, а вредност treci je 48.

Вежба кратког одговроа: Вредност променљивих
Која је вредност x након што се ове команде изврше?
 x=10
x=x+x
x=x-5

Тачно!

 

Две честе грешке

Ако тражите од Python-a променљиву коју нисте дефинисали, добићете грешку.

Пример: Недефинисана променљива

 

Пример: SyntaxError: can't assign to literal (синтаксна грешка)

Први ред је у реду, али други ред изазива грешку: Python мисли да други ред, 4=x, покушава да промени вредност 4, али дозвољено је мењати само вредност променљивих, а 4 није променљива. Мада у математици важи A=B i B=A, у програмирању то није исто.

 

Вежба кодирања: Главе, рамена, колена, прсти
Напиши код за пребројавање глава, рамена, колена и прстију на журци. Променљива ljudi ће бити аутоматски дефинисана и пребројаваће број људи на журци. Ваш код мора да има четири променљиве, једну по имену glave, једну по имену ramena, једну по имену kolena и једну по имену prsti, које су једнаке укупном броју глава, рамена, колена и прстију на журци. Ваш програм не мора ништа да одштампа. Сваки пут када покренете ваш код, насумице ће бити одабран нови број за променљиву ljudi.

 

Испреметани код

Следећа тема ове лекције је нова врста програмерске вежбе, где не морате ништа да програмирате. Ми ћемо вам обезбедити одговарајући програм, али је фазон у томе што ће му редови бити испреметани. Ваш посао је да превлачите редове и постављате их на одговарајућа места.

 

Вежба премештања: Калкулатор брзине
Члан сте бициклистичке трке која иде уз и низ брдо. Добићете четири дефинисане променљиве: uzbrdoDistanca и nizbrdoDistanca дају дужину (у км) оба дела трке, а uzbrdoVreme и  nizbrdoVreme дају време (у минутима) које вам је потребно да завршите сваки део трке. Напишите програм који ће одштампати вашу просечну брзину (у км/мин) за целу трку (Превлачите мишем да бисте испремештали линије.).
  • ukupnoVreme = uzbrdoVreme + nizbrdoVreme
  • print(prosecnaBrzina)
  • ukupnaDistanca = uzbrdoDistanca + nizbrdoDistanca
  • prosecnaBrzina = ukupnaDistanca/ ukupnoVreme
Тачно!

 

 

Вежба кодирања: Програм замене
 Напишите програм за замену две променљиве. Добићете дефинисане променљиве x и y, са бројевним вредностима. Морате да напишете код који замењује њихове вредности: вредност x након покретања вашег кода мора бити једнака вредности коју је y имао пре покретања кода, а вредност y после покретања кода мора бити једнака вредности коју је x имао пре покретања кода. Ваш програм не мора ништа да одштампа. Савет