Prijavi problem


Obeleži sve katergorije koje odgovaraju problemu

Jos detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link
Na žalost nismo trenutno u mogućnosti da obradimo Vaš zahtev.
Molimo Vas da pokušate kasnije.

Programiranje u Pajtonu, priručnik za šesti razred

Измена вредности променљивих

Измена вредности скаларних променљивих

Начин на који смо до сада користили променљиве одговарао је ономе што си научио/научила из математике. Променљиве су имена које користимо да означимо одређене вредности и када су једном постављене оне се нису мењале током извршавања програма. Међутим, променљиве у програмима могу да мењају своју вредност! Посматрајмо следећи пример.

Иста променљива x је на почетку програма имала вредност 3, то је исписано, а затим јој је промењена вредност на 5 и то је опет исписано. Изврши овај програм корак по корак и прати како се током извршавања мења вредност променљиве x.

Променљиве можемо схватити као чаше у којима су уписане одређене вредности. Да би се нов садржај могао сипати у чашу, стари мора да се проспе. Дакле, након доделе вредности променљивој (оператором =) стара вредност променљиве више није доступна. Ипак, аналогија са чашама није потпуно прецизна јер се након доделе облика x = y исти садржај налази у обе променљиве (чаша y из које се пресипа се не празни већ задржава свој садржај).

Размена вредности две променљиве

Размотримо како бисмо у програму разменили садржај две променљиве (на пример, x и y). Наиван начин би био да се то покуша на следећи начин:

Након доделе x = y стара вредност променљиве x бива избрисана (оно што је у тој чаши било се просипа) и након те наредбе обе променљиве имају вредност 5 (вредност променљиве y).

Размену вредности променљивих могуће је урадити и без помоћне променљиве, коришћењем распакивања парова тако што се изврши додела (x, y) = (y, x). Ово решење је веома специфично за језик Python и не може се употребити у другим програмским језицима.

Промена стања на банковном рачуну

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

Приметимо да у математици једнакост \(stanje = stanje + 3400\), ако се схвати као једначина, нема решења. Међутим, ово није математичка једначина, већ је наредба доделе, специфична за програмирање. Овом наредбом доделе се постиже да стање на рачуну после ње буде једанко стању на рачуну пре ње увећаном за 3400 динара (тј. да је вредност променљиве након извршавања ове наредбе доделе једнака збиру вредности променљиве пре доделе и броја 3400). Математички гледано, једнакост која описује ову доделу је заправо \(stanje_{posle} = stanje_{pre} + 3400\), што има много више смисла.

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

Измена вредности листе

За разлику од торки и ниски које су непроменљиве структуре података, листе и речници су променљиви.

Посматрајмо наредни програм.

Иако изгледа да је ниска heroj промењена, заправо је током извршавања програма та променљива садржала две потпуно различите ниске("Supermen", па онда "Betmen"). Када кажемо да су ниске непроменљиве, то значи да не можемо да им мењамо, додајемо или бришемо слова (на пример, од ниске "Supermen" не можемо направити ниску "Superman" тако што бисмо изменили само слово e у слово a).

Елемент на датој позицији у листи можемо изменити комбинацијом наредбе доделе и индексног приступа. Посматрајмо наредни пример измене листе кошаркаша.

Измена кошаркаша

Мирослав Радуљица се повредио и уместо њега наступа Огњен Кузмић. Представи ту измену у програму.

Елемент листи можемо додати коришћењем метода append. То можемо употребити да бисмо учитали листу.

Учитавање листе

Напиши програм који учитава листу 5 бројева и на крају исписује њен садржај.

Други начин би био да направимо листу која садржи 5 нула, а затим да јој током учитавања мењамо један по један елемент.

Трећи начин, можда и најелегантнији, заснива се на компрехенсији, о којој ће бити речи касније.

Измена вредности речника

На веома сличан начин можемо променити вредност у речнику. На пример, можемо променити цену неком аутомобилу.

Промена цене аутомобила

Додавање новог елемента у речник вршимо на веома сличан начин као и промену постојеће вредности.

Уз могућност измене, речници постају изузетно корисни за решавање многих практичних проблема.

Бројање гласова

Ученици су гласали за председника одељенске заједнице. Секретар уноси број ученика, а затим и њихова имена. Напиши програм који исписује број гласова које су освојили ученици.

Основна идеја је да број гласова за сваког кандидата представимо у облику речника који имена кандидата пресликава у њихов освојени број гласова.