ПП1/Питалице — разлика између измена
Нема описа измене |
м (Formatiranje) |
||
| (Није приказано 5 међуизмена другог корисника) | |||
| Ред 133: | Ред 133: | ||
# <span class="solution">Блок који садржи наредбе у оквиру тела функције започиње знаком : (двотачка).</span> | # <span class="solution">Блок који садржи наредбе у оквиру тела функције започиње знаком : (двотачка).</span> | ||
# <span class="solution">Функција може имати променљив број параметара.</span> | # <span class="solution">Функција може имати променљив број параметара.</span> | ||
# <span class="solution">Након декларације функције се опционо наводи документациони | # <span class="solution">Након декларације функције се опционо наводи документациони ''string''.</span> | ||
# Функцијски блок обавезно почиње резервисаном речи <code>var</code>. | # Функцијски блок обавезно почиње резервисаном речи <code>var</code>. | ||
# Уколико функција не враћа вредност наредба <code>return</code> мора обавезно вратити вредност <code>None</code>. | # Уколико функција не враћа вредност наредба <code>return</code> мора обавезно вратити вредност <code>None</code>. | ||
| Ред 152: | Ред 152: | ||
funkcijap (a, b, c) | funkcijap (a, b, c) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
За сваку од наведених променљивих,исправно дефинисати да ли ће промена стварног аргумента у потпрограму бити видљива у главном програму. | За сваку од наведених променљивих, исправно дефинисати да ли ће промена стварног аргумента у потпрограму бити видљива у главном програму. | ||
<div | <div data-solution="select" data-options="промењена,непромењена"> | ||
# <code>b</code>: <span class="spoiler">промењена</span> | # <code>b</code>: <span class="spoiler">промењена</span> | ||
# <code>a</code>: <span class="spoiler">непромењена</span> | # <code>a</code>: <span class="spoiler">непромењена</span> | ||
# <code>c</code>: <span class="spoiler">непромењена</span> | # <code>c</code>: <span class="spoiler">непромењена</span> | ||
</div> | |||
=== 6. питање === | === 6. питање === | ||
Нека се посматра следећa функција кода на програмском језику ''Python'': | Нека се посматра следећa функција кода на програмском језику ''Python'': | ||
| Ред 167: | Ред 167: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Који су све позиви функције коректни? | Који су све позиви функције коректни? | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# < | # <syntaxhighlight lang="python" class="solution" inline>poruka (tip="k", i = 50, k = 20)</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="python" class="solution" inline>poruka (90)</syntaxhighlight> | ||
# poruka (tip="k", k = 20) | # <syntaxhighlight lang="python" inline>poruka (tip="k", k = 20)</syntaxhighlight> | ||
# poruka () | # <syntaxhighlight lang="python" inline>poruka ()</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="python" class="solution" inline>poruka (20, tip="k")</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="python" class="solution" inline>poruka (tip="i", k = 20, i = 70)</syntaxhighlight> | ||
# poruka (tip="k", 20, 70) | # <syntaxhighlight lang="python" inline>poruka (tip="k", 20, 70)</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="python" class="solution" inline>poruka (50, 20)</syntaxhighlight> | ||
#poruka (tip="i", 20, i = 70) | # <syntaxhighlight lang="python" inline>poruka (tip="i", 20, i = 70)</syntaxhighlight> | ||
#poruka (tip="i") | # <syntaxhighlight lang="python" inline>poruka (tip="i")</syntaxhighlight> | ||
</div> | </div> | ||
=== 7. питање === | === 7. питање === | ||
Нека се посматра следећa функција кода на програмском језику ''Python'': | Нека се посматра следећa функција кода на програмском језику ''Python'': | ||
| Ред 199: | Ред 198: | ||
Изаберите један или више одговора: | Изаберите један или више одговора: | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# povrsina (a = 5, c = 6, 10) | # <syntaxhighlight lang="python" inline>povrsina (a = 5, c = 6, 10)</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="python" class="solution" inline>povrsina (b = 6)</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="python" class="solution" inline>povrsina (20, c = 16)</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="python" class="solution" inline>povrsina (5, 6, 7)</syntaxhighlight> | ||
#povrsina (a = 4, c = 5, 8) | # <syntaxhighlight lang="python" inline>povrsina (a = 4, c = 5, 8)</syntaxhighlight> | ||
</div> | |||
== 4. лабораторијска вежба == | |||
=== 1. питање === | |||
Када се методи <code>format</code> зада жељена ширина поља при испису, садржај се (подразумевано) уравнава: | |||
<div class="abc-list" data-solution="single"> | |||
# уз леву ивицу, без обзира на тип података који се исписује | |||
# уз леву ивицу, ако се исписују нумерички подаци | |||
# <span class="solution">уз леву ивицу, ако се исписују текстуални подаци</span> | |||
</div> | </div> | ||
=== 2. питање === | === 2. питање === | ||
Које су све операције над стринговима дозвољене од понуђених, уколико су задате следеће декларације: | Које су све операције над стринговима дозвољене од понуђених, уколико су задате следеће декларације: | ||
| Ред 222: | Ред 221: | ||
i = 5 | i = 5 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<div class="abc-list" data-solution="multiple"> | |||
# <syntaxhighlight lang="python" inline>s3 = i in s2</syntaxhighlight> | |||
# <syntaxhighlight lang="python" inline class="solution">s3 = s1[i] in s2</syntaxhighlight> | |||
# <syntaxhighlight lang="python" inline class="solution">s3 = s1[:4] in s2[7:]</syntaxhighlight> | |||
# <syntaxhighlight lang="python" inline>s1[3:5] = s2[7:9]</syntaxhighlight> | |||
# <syntaxhighlight lang="python" inline class="solution">(s1+s2)[2]</syntaxhighlight> | |||
</div> | |||
=== 3. питање === | === 3. питање === | ||
{{делимично решено}} | |||
Која тврђења су тачна приликом позива следеће функције <code>format</code>? У променљивој <code>str</code> се налази текстуална вредност. | Која тврђења су тачна приликом позива следеће функције <code>format</code>? У променљивој <code>str</code> се налази текстуална вредност. | ||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
"{:x,y}".format(str) | "{:x,y}".format(str) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<div class="abc-list"> | |||
# 'y' представља минималан број места за исписивање променљиве <code>str</code> | # 'y' представља минималан број места за исписивање променљиве <code>str</code> | ||
# 'x' представља минималан број места за исписивање променљиве <code>str</code> | # 'x' представља минималан број места за исписивање променљиве <code>str</code> | ||
# 'y' представља максималан број места за исписивање променљиве <code>str</code> | # 'y' представља максималан број места за исписивање променљиве <code>str</code> | ||
# 'x' представља максималан број места за исписивање променљиве <code>str</code> | # 'x' представља максималан број места за исписивање променљиве <code>str</code> | ||
</div> | |||
== 5. лабораторијска вежба == | == 5. лабораторијска вежба == | ||
=== 1. питање === | === 1. питање === | ||
| Ред 246: | Ред 248: | ||
# Торка представља уређену и променљиву колекцију података. | # Торка представља уређену и променљиву колекцију података. | ||
# <span class="solution">Торка може да садржи елементе различитог типа.</span> | # <span class="solution">Торка може да садржи елементе различитог типа.</span> | ||
# <span class="solution">Објекат празне торке може се формирати коришћењем функције <code>tuple()</code>, као и нотацијом <code>()</code> .</span> | # <span class="solution">Објекат празне торке може се формирати коришћењем функције <code>tuple()</code>, као и нотацијом <code>()</code>.</span> | ||
# Сваки елемент торке у торки се појављује само једанпут(нема дуплих елемената). | # Сваки елемент торке у торки се појављује само једанпут (нема дуплих елемената). | ||
# <span class="solution">Могуће је итерирати(вршити обилазак колекције) кроз објекат торке.</span> | # <span class="solution">Могуће је итерирати (вршити обилазак колекције) кроз објекат торке.</span> | ||
</div> | </div> | ||
=== 2. питање === | === 2. питање === | ||
Која тврђења су тачна у вези рада са изузецима на програмском језику ''Python''? | Која тврђења су тачна у вези рада са изузецима на програмском језику ''Python''? | ||
| Ред 258: | Ред 261: | ||
# Изузетак се може генерисати искључиво употребом наредбе <code>raise</code>. | # Изузетак се може генерисати искључиво употребом наредбе <code>raise</code>. | ||
# Блок <code>else</code> се извршава без обзира да ли је код унутар <code>try</code> блока генерисао изузетак или не. | # Блок <code>else</code> се извршава без обзира да ли је код унутар <code>try</code> блока генерисао изузетак или не. | ||
# <span class="solution">Блок <code>except</code>може бити декларисан да хвата један или више типова објеката изузетака.</span> | |||
# <span class="solution">Једну <code>try</code> наредбу може пратити један или више именованих <code>except</code> блокова.</span> | |||
# Може се написати наредба <code>try</code> коју не прати ниједан <code>except</code> или <code>finally</code> блок. | |||
# Уколико <code>try</code> наредбу прати <code>except</code> блок онда је не може пратити и <code>finally</code> блок. | |||
# <span class="solution">Једну <code>try</code> наредбу може пратити највише један <code>finally</code> блок.</span> | |||
</div> | </div> | ||
=== 3. питање === | === 3. питање === | ||
Спојити одговарајуће режиме отварања датотека на програмском језику ''Python'' који се задају функцији <code>open()</code> са наведеним описима. | Спојити одговарајуће режиме отварања датотека на програмском језику ''Python'' који се задају функцији <code>open()</code> са наведеним описима. | ||
<div class="abc-list" data-solution="select" data-options="a,w,rb,r,wb,x"> | <div class="abc-list" data-solution="select" data-options="a,w,rb,r,wb,x"> | ||
# | # Упис у текстуалну датотеку уколико претходно не постоји: <span class="spoiler">x</span> | ||
# | # Читање текстуалне датотеке: <span class="spoiler">r</span> | ||
# | # Упис у бинарну датотеку: <span class="spoiler">wb</span> | ||
# | # Читање бинарне датотеке: <span class="spoiler">rb</span> | ||
# | # Упис у текстуалну датотеку: <span class="spoiler">w</span> | ||
# | # Додавање на крај текстуалне датотеке: <span class="spoiler">a</span> | ||
</div> | </div> | ||
=== 4. питање === | === 4. питање === | ||
Спојити одговарајуће описе стандардних изузетака са именима типова стандардних изузетака на програмском језику ''Python''. | Спојити одговарајуће описе стандардних изузетака са именима типова стандардних изузетака на програмском језику ''Python''. | ||
<div class="abc-list" data-solution="select" data-options="IndexError,IOError,NameError"> | <div class="abc-list" data-solution="select" data-options="IndexError,IOError,NameError"> | ||
# | # Баца се када улазно-излазна операција не успе, као што је отварање датотеке која не постоји. <span class="spoiler">IOError</span> | ||
# | # Баца се када се некоректан индекс (индекс ван опсега) употреби за приступ секвенци. <span class="spoiler">IndexError</span> | ||
# | # Баца се када идентификатор не може да се пронађе у локалном или глобалном простору имена. <span class="spoiler">NameError</span> | ||
</div> | |||
=== 5. питање === | === 5. питање === | ||
Која тврђења су тачна у вези рада са скуповима на програмском језику ''Python''? | Која тврђења су тачна у вези рада са скуповима на програмском језику ''Python''? | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# <span class="solution">Скуп се може формирати задавањем листе или | # <span class="solution">Скуп се може формирати задавањем листе или ''string''-а као аргумента функције <code>set</code>.</span> | ||
# <span class="solution">Сваки елемент скупа у скупу се појављује само једанпут(нема дуплих елемената).</span> | # <span class="solution">Сваки елемент скупа у скупу се појављује само једанпут(нема дуплих елемената).</span> | ||
# < | # Објекат празног скупа може се формирати коришћењем функције <code>set()</code>, као и нотацијом <code>()</code>. | ||
# Скуп представља уређену и непроменљиву колекцију података. | # Скуп представља уређену и непроменљиву колекцију података. | ||
# | # <span class="solution">Могуће је итерирати (вршити обилазак колекције) кроз објекат скупа.</span> | ||
</div> | </div> | ||
=== 6. питање === | === 6. питање === | ||
Шта све може бити елемент објекта скупа на програмском језику ''Python''? | Шта све може бити елемент објекта скупа на програмском језику ''Python''? | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# <span class="solution">Литерал типа <code>int</code>(нпр. 153).</span> | # <span class="solution">Литерал типа <code>int</code> (нпр. 153).</span> | ||
# Објекат типа листе (нпр.[1, 2, 3]). | # Објекат типа листе (нпр. [1, 2, 3]). | ||
# <span class="solution">Литерал типа <code> | # <span class="solution">Литерал типа <code>str</code> (нпр. 'текст').</span> | ||
# Објекат типа скупа (нпр.set(1, 2, 3)). | # Објекат типа скупа (нпр. set(1, 2, 3)). | ||
# <span class="solution">Објекат типа торке (нпр.(1, 2, 3)).</span> | # <span class="solution">Објекат типа торке (нпр. (1, 2, 3)).</span> | ||
</div> | </div> | ||
=== 7. питање === | === 7. питање === | ||
Спојити изразе са операторима дефинисане за | Спојити изразе са операторима дефинисане за скупове са еквивалентним изразима са методама дефинисаним за скупове за објекте a и b на програмском језику ''Python''. | ||
<div class="abc-list" data-solution="select" data-options="a.intersection(b),a.issubset(b),a.union(b),a.difference(b)"> | <div class="abc-list" data-solution="select" data-options="a.intersection(b),a.issubset(b),a.union(b),a.difference(b),a.issuperset(b),a.update(b),a.symmetric_difference"(b)> | ||
# <code>a & b</code>: <span class="spoiler">a.intersection(b)</span> | # <code>a & b</code>: <span class="spoiler">a.intersection(b)</span> | ||
# <code>a <= b</code>: <span class="spoiler">a.issubset(b)</span> | # <code>a <= b</code>: <span class="spoiler">a.issubset(b)</span> | ||
# <code>a | b</code>: <span class="spoiler">a.union(b)</span> | # <code>a | b</code>: <span class="spoiler">a.union(b)</span> | ||
# <code>a - b</code>: <span class="spoiler">a.difference(b)</span> | # <code>a - b</code>: <span class="spoiler">a.difference(b)</span> | ||
# <code>a >= b</code>: <span class="spoiler">a.issuperset(b)</span> | |||
# <code>a |= b</code>: <span class="spoiler">a.update(b)</span> | |||
# <code>a ^ b</code>: <span class="spoiler">a.symmetric_difference(b)</span> | |||
</div> | </div> | ||
=== 8. питање === | === 8. питање === | ||
Нека су дате следеће декларације на програмском језику ''Python'': | Нека су дате следеће декларације на програмском језику ''Python'': | ||
| Ред 309: | Ред 325: | ||
msg = "Happy New Year" | msg = "Happy New Year" | ||
year = "2o20" | year = "2o20" | ||
name = " | name = "input.txt" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Сматрати да датотека ''input.txt'' не постоји на диску. | Сматрати да датотека ''input.txt'' не постоји на диску. Исправно спојити грешке (изузетке) и наредбе које их генеришу. | ||
Исправно спојити грешке(изузетке) и наредбе које их генеришу. | <div class="abc-list" data-solution="select" data-options="int(year),msg[25],open(filename,"r"),arr[6],msg[6] = 'y'"> | ||
<div class="abc-list" data-solution="select" data-options="int(year),msg[25],open(filename,"r")"> | |||
# <code>IndexError</code>: <span class="spoiler">msg[25]</span> | # <code>IndexError</code>: <span class="spoiler">msg[25]</span> | ||
# <code>NameError</code>: <span class="spoiler">open(filename,"r")</span> | # <code>NameError</code>: <span class="spoiler">open(filename,"r")</span> | ||
# <code>ValueError</code>: <span class="spoiler">int(year)</span> | # <code>ValueError</code>: <span class="spoiler">int(year)</span> | ||
# <code>IndexError</code>: <span class="spoiler">arr[6]</span> | |||
# <code>TypeError</code>: <span class="spoiler">msg[6] = 'y'</span> | |||
# <code>FileNotFoundError</code>: <span class="spoiler">open(filename,"r")</span> | |||
</div> | |||
=== 9. питање === | |||
Нека су дате следеће декларације на програмском језику ''Python'': | |||
<syntaxhighlight lang="python"> | |||
f = open("test.txt") | |||
</syntaxhighlight> | |||
Нека је садржај датотеке ''test.txt'' следећи: | |||
<syntaxhighlight lang="python"> | |||
Quick brown fox | |||
jumps | |||
over a lazy | |||
dog. | |||
</syntaxhighlight> | |||
<ol> | |||
<li>Шта као резултат враћа позив функције ''rez = f.read(1)''? | |||
<div class="abc-list" data-solution="single"> | |||
# Празан ред: "\n" | |||
# Садржај целе датотеке:"Quick brown fox jumps over a lazy dog." | |||
# <span class="solution">Прво слово у датотеци:"Q"</span> | |||
# Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog." | |||
# Прву линију датотеке:"Quick brown fox\n" | |||
# Прву реч у датотеци:"Quick" | |||
</div> | </div> | ||
</li> | |||
<li>Шта као резултат враћа позив функције ''rez = f.readline()''? | |||
<div class="abc-list" data-solution="single"> | |||
# Празан ред: "\n" | |||
# Садржај целе датотеке:"Quick brown fox jumps over a lazy dog." | |||
# Прво слово у датотеци:"Q" | |||
# Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog." | |||
# <span class="solution">Прву линију датотеке:"Quick brown fox\n"</span> | |||
# Прву реч у датотеци:"Quick" | |||
</div> | |||
</li> | |||
<li>Шта као резултат враћа позив функције ''rez = f.read()''? | |||
<div class="abc-list" data-solution="single"> | |||
# Празан ред: "\n" | |||
# Садржај целе датотеке:"Quick brown fox jumps over a lazy dog." | |||
# Прво слово у датотеци:"Q" | |||
# <span class="solution">Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog."</span> | |||
# Прву линију датотеке:"Quick brown fox\n" | |||
# Прву реч у датотеци:"Quick" | |||
</div> | |||
</li> | |||
</ol> | |||
=== 10. питање === | |||
Који од понуђених делова кода на програмском језику ''Python'' уредно затвара датотеку након спроведеног читања или уписа?Сматрати да датоотеке постоје на диску. | |||
Изаберите један или више одговора: | |||
<div class="abc-list" data-solution="multiple"> | |||
# <syntaxhighlight lang="python" class="solution"> | |||
with open('upis.txt', 'w') as f: | |||
f.write("Happy New Year!\n") | |||
</syntaxhighlight> | |||
# <syntaxhighlight lang="python"> | |||
fx = open("test.txt") | |||
fx.readline() | |||
fx.seek(0,2) | |||
</syntaxhighlight> | |||
# <syntaxhighlight lang="python"> | |||
fi = open("test.txt") | |||
fi.readline() | |||
fi.closed() | |||
</syntaxhighlight> | |||
# <syntaxhighlight lang="python" class="solution"> | |||
fa = open("test.txt") | |||
res = fa.read() | |||
fa.close() | |||
</syntaxhighlight> | |||
</div> | |||
[[Категорија:ПП1]] | [[Категорија:ПП1]] | ||
[[Категорија:Лабораторијске вежбе]] | [[Категорија:Лабораторијске вежбе]] | ||
Тренутна верзија на датум 9. фебруар 2023. у 13:20
На следећој страници сакупљене су питалице са тестова пред лабораторијске вежбе. Нису наведене ни у једном конкретном редоследу, и сличне питалице могу бити спојене.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
2. лабораторијска вежба
1. питање
Спојити облике нумеричких литерала са одговарајућим типовима података на програмском језику Python:
0b11101: intj2.0: грешка0oF117: грешка0x123: int-1.E-2j: complex.9969e3: float0d112: грешка0o1812: грешка0xabc: int
2. питање
Шта исписује следећи фрагмент кода на програмском језику Python?
j = 5.0
x = 0
while j > 1:
j //= 2
x += 1
else:
x += 1
print(x)
Решење: 3
Објашњење: У првој итерацији петље j ће се смањити на 2 (5 подељено са 2 заокружено на нижи број) а у другој на 1 (2 подељено са 2), и затим ће се извршити део кода у else.
3. питање
Која су тврђења тачна у вези са типовима на програмском језику Python?
- Променљива се не може променити након прве доделе вредности.
- Специјална вредност
Noneозначава да променљива нема вредност, али је дефинисана. - Имена идентификатора се могу састојати само од великих и малих слова и знака
_, али не смеју почињати знаком_. - Уништавање променљивих се обавља динамички или употребом наредбе
del. - Тип података прецизира скуп вредности и операција које се могу применити на неки објекат.
- Резервисане речи смеју бити коришћене као имена идентификатора, али се онда не могу користити одговарајуће конструкције.
4. питање
У којим од наведених израза на програмском језику Python, након израчунавања променљива x има вредност False?
x=not 21 and 8!=3x=86>=86>87x=not True or False and Truex=not((not 0)==(not 3))x=bool("False")x=bool(-1)
5. питање
Која су тврђења тачна за наведене функције, наредбе и контролне структуре на програмском језику Python?
- Наредба
continueпрекида извршавање текуће итерације петље и прелази на следећу. - Грана
elseсе код петљи извршава само уколико се петља регуларно заврши. - Уколико се тело
forпетље састоји од више наредби, оне морају бити подједнако увучене у односу на кључну речfor. whileпетља може да се директно користи за итерирање кроз колекције.- Уколико постоји
elifграна кодifусловног гранања, онда обавезно мора постојати иelseграна.
6. питање
Спојити описе функција са именима функција које се користе за рад са листама у програмском језику Python.
- Додавање елемента на задату позицију:
insert() - Дохватање дужине листе:
len() - Уклањање члана по вредности:
remove() - Додавање појединачних елемената на крај листе:
append() - Иницијализација листе:
list() - Уклањање члана са задате позиције:
pop()
7. питање
Која су тврђења тачна за наведене функције, наредбе и контролне структуре на програмском језику Python?
- Функција
range(n)генерише секвенцу вредности у опсегу од 1 доn. - Наредба
breakнасилно прекида тело петље на месту на коме је извршена. whileпетља понавља блок наредби док год је задати логички услов испуњен.- Условно гранање са
ifувек мора да поседује одговарајућуelseграну. - Наредба
passсе користи за напуштање блока кода на месту на коме је позвана.
8. питање
Који условни израз одговара извршавању следећег кода на програмском језику Python?
if a % 2 == 0:
b = c
else:
b = d
Одговор: b = c if a % 2 == 0 else d
3. лабораторијска вежба
1. питање
Која тврђења су тачна у вези рада са функцијама на програмском језику Python?
- Функције не могу имати подразумеване вредности аргумената.
- Аргумент функције може бити друга функција.
- Дозвољено је дефинисати функцију у оквиру друге функције.
- Аргументи функције се на програмском језику Python преносе искључиво по референци.
- Функција може у оквиру свог тела садржати само једну
returnнаредбу.
2. питање
Која су тврђења тачна на програмском језику Python у вези са просторима имена и опсегом важења променљивих?
- Рекурзивна функција је функција која позива саму себе.
- При позиву сваке функције креира се локални простор имена те функције.
- Када се програм покрене креира се глобални простор програма.
- За дохватање променљиве која се налази у окружујућој функцији из унутрашње функције користи се кључна реч
local. - Ако у функцији Fx није дефинисана променљива foo, није неопходно користити кључну реч
globalкако би изменили вредност глобалне променљиве foo у функцији Fx.
3. питање
Која су тврђења тачна на програмском језику Python у вези простора имена и опсега важења променљивих?
- Исто име може постојати у више простора имена.
- Дефиниција променљиве у функцији сакрива видиљивост глобалне променљиве са истим именом.
- Глобалној променљивој може се приступати из свих функција.
- Python не дозвољава да се функција дефинише унутар друге функције.
- Глобалној променљивој може се приступати само коришћењем кључне речи
global.
4. питање
Која тврђења су тачна у вези рада са функцијама на програмском језику Python?
- Блок који садржи наредбе у оквиру тела функције започиње знаком : (двотачка).
- Функција може имати променљив број параметара.
- Након декларације функције се опционо наводи документациони string.
- Функцијски блок обавезно почиње резервисаном речи
var. - Уколико функција не враћа вредност наредба
returnмора обавезно вратити вредностNone.
5. питање
Нека се посматра следећи део кода на програмском језику Python:
def funkcijap (a, b, c):
a += 10
b[0] = a
b[1:] = b[:0:-1]
c += "str"
return
a = 1
b = 3 * [1, 2]
c = "a"
funkcijap (a, b, c)
За сваку од наведених променљивих, исправно дефинисати да ли ће промена стварног аргумента у потпрограму бити видљива у главном програму.
b: промењенаa: непромењенаc: непромењена
6. питање
Нека се посматра следећa функција кода на програмском језику Python:
def poruka (i, k = 0, tip = "i"):
p = i if tip == "i" else k*0.3 + i*0.7
return "polozio" if p > 50 else "pao"
Који су све позиви функције коректни?
poruka (tip="k", i = 50, k = 20)poruka (90)poruka (tip="k", k = 20)poruka ()poruka (20, tip="k")poruka (tip="i", k = 20, i = 70)poruka (tip="k", 20, 70)poruka (50, 20)poruka (tip="i", 20, i = 70)poruka (tip="i")
7. питање
Нека се посматра следећa функција кода на програмском језику Python:
def povrsina (a = 0, b = 0, c = 0):
if a and b and c:
s = (a + b + c) / 2
return (s*(s-a)*(s-b)*(s-c))**0.5
elif a and b:
return a * b
elif a:
return a * a
else:
return 0
Који су све позиви функције коректни?
Изаберите један или више одговора:
povrsina (a = 5, c = 6, 10)povrsina (b = 6)povrsina (20, c = 16)povrsina (5, 6, 7)povrsina (a = 4, c = 5, 8)
4. лабораторијска вежба
1. питање
Када се методи format зада жељена ширина поља при испису, садржај се (подразумевано) уравнава:
- уз леву ивицу, без обзира на тип података који се исписује
- уз леву ивицу, ако се исписују нумерички подаци
- уз леву ивицу, ако се исписују текстуални подаци
2. питање
Које су све операције над стринговима дозвољене од понуђених, уколико су задате следеће декларације:
s1 = "trla baba lan"
s2 = "da joj prođe 5. dan"
i = 5
s3 = i in s2s3 = s1[i] in s2s3 = s1[:4] in s2[7:]s1[3:5] = s2[7:9](s1+s2)[2]
3. питање
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
Која тврђења су тачна приликом позива следеће функције format? У променљивој str се налази текстуална вредност.
"{:x,y}".format(str)
- 'y' представља минималан број места за исписивање променљиве
str - 'x' представља минималан број места за исписивање променљиве
str - 'y' представља максималан број места за исписивање променљиве
str - 'x' представља максималан број места за исписивање променљиве
str
5. лабораторијска вежба
1. питање
Која тврђења су тачна у вези рада са торкама на програмском језику Python?
- Торка представља уређену и променљиву колекцију података.
- Торка може да садржи елементе различитог типа.
- Објекат празне торке може се формирати коришћењем функције
tuple(), као и нотацијом(). - Сваки елемент торке у торки се појављује само једанпут (нема дуплих елемената).
- Могуће је итерирати (вршити обилазак колекције) кроз објекат торке.
2. питање
Која тврђења су тачна у вези рада са изузецима на програмском језику Python?
- Блок
finallyсе извршава без обзира да ли је код унутарtryблока генерисао изузетак или не. - Могуће је ухватити један или више типова изузетака у
exceptблоку. - Блок
finallyсе извршава без обзира да ли је код унутарexceptблока генерисао изузетак или не. - Изузетак се може генерисати искључиво употребом наредбе
raise. - Блок
elseсе извршава без обзира да ли је код унутарtryблока генерисао изузетак или не. - Блок
exceptможе бити декларисан да хвата један или више типова објеката изузетака. - Једну
tryнаредбу може пратити један или више именованихexceptблокова. - Може се написати наредба
tryкоју не прати ниједанexceptилиfinallyблок. - Уколико
tryнаредбу пратиexceptблок онда је не може пратити иfinallyблок. - Једну
tryнаредбу може пратити највише једанfinallyблок.
3. питање
Спојити одговарајуће режиме отварања датотека на програмском језику Python који се задају функцији open() са наведеним описима.
- Упис у текстуалну датотеку уколико претходно не постоји: x
- Читање текстуалне датотеке: r
- Упис у бинарну датотеку: wb
- Читање бинарне датотеке: rb
- Упис у текстуалну датотеку: w
- Додавање на крај текстуалне датотеке: a
4. питање
Спојити одговарајуће описе стандардних изузетака са именима типова стандардних изузетака на програмском језику Python.
- Баца се када улазно-излазна операција не успе, као што је отварање датотеке која не постоји. IOError
- Баца се када се некоректан индекс (индекс ван опсега) употреби за приступ секвенци. IndexError
- Баца се када идентификатор не може да се пронађе у локалном или глобалном простору имена. NameError
5. питање
Која тврђења су тачна у вези рада са скуповима на програмском језику Python?
- Скуп се може формирати задавањем листе или string-а као аргумента функције
set. - Сваки елемент скупа у скупу се појављује само једанпут(нема дуплих елемената).
- Објекат празног скупа може се формирати коришћењем функције
set(), као и нотацијом(). - Скуп представља уређену и непроменљиву колекцију података.
- Могуће је итерирати (вршити обилазак колекције) кроз објекат скупа.
6. питање
Шта све може бити елемент објекта скупа на програмском језику Python?
- Литерал типа
int(нпр. 153). - Објекат типа листе (нпр. [1, 2, 3]).
- Литерал типа
str(нпр. 'текст'). - Објекат типа скупа (нпр. set(1, 2, 3)).
- Објекат типа торке (нпр. (1, 2, 3)).
7. питање
Спојити изразе са операторима дефинисане за скупове са еквивалентним изразима са методама дефинисаним за скупове за објекте a и b на програмском језику Python.
a & b: a.intersection(b)a <= b: a.issubset(b)a | b: a.union(b)a - b: a.difference(b)a >= b: a.issuperset(b)a |= b: a.update(b)a ^ b: a.symmetric_difference(b)
8. питање
Нека су дате следеће декларације на програмском језику Python:
arr = [1, 20, 8, 4, 41, 5]
msg = "Happy New Year"
year = "2o20"
name = "input.txt"
Сматрати да датотека input.txt не постоји на диску. Исправно спојити грешке (изузетке) и наредбе које их генеришу.
IndexError: msg[25]NameError: open(filename,"r")ValueError: int(year)IndexError: arr[6]TypeError: msg[6] = 'y'FileNotFoundError: open(filename,"r")
9. питање
Нека су дате следеће декларације на програмском језику Python:
f = open("test.txt")
Нека је садржај датотеке test.txt следећи:
Quick brown fox
jumps
over a lazy
dog.
- Шта као резултат враћа позив функције rez = f.read(1)?
- Празан ред: "\n"
- Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
- Прво слово у датотеци:"Q"
- Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog."
- Прву линију датотеке:"Quick brown fox\n"
- Прву реч у датотеци:"Quick"
- Шта као резултат враћа позив функције rez = f.readline()?
- Празан ред: "\n"
- Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
- Прво слово у датотеци:"Q"
- Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog."
- Прву линију датотеке:"Quick brown fox\n"
- Прву реч у датотеци:"Quick"
- Шта као резултат враћа позив функције rez = f.read()?
- Празан ред: "\n"
- Садржај целе датотеке:"Quick brown fox jumps over a lazy dog."
- Прво слово у датотеци:"Q"
- Садржај целе датотеке:"Quick brown fox\n\njumps\nover a lazy\ndog."
- Прву линију датотеке:"Quick brown fox\n"
- Прву реч у датотеци:"Quick"
10. питање
Који од понуђених делова кода на програмском језику Python уредно затвара датотеку након спроведеног читања или уписа?Сматрати да датоотеке постоје на диску.
Изаберите један или више одговора:
with open('upis.txt', 'w') as f: f.write("Happy New Year!\n")
fx = open("test.txt") fx.readline() fx.seek(0,2)
fi = open("test.txt") fi.readline() fi.closed()
fa = open("test.txt") res = fa.read() fa.close()