{"id":9868,"date":"2017-05-11T03:04:42","date_gmt":"2017-05-11T07:04:42","guid":{"rendered":"https:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=9868"},"modified":"2017-05-22T13:08:43","modified_gmt":"2017-05-22T17:08:43","slug":"pl-2","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/pl-2\/","title":{"rendered":"2: Funkcje"},"content":{"rendered":"<!-- Please retain this notice and add more notes if you create a new version.<br \/>\nOriginal lesson author: Graeme Kemkes, gdkemkes@alumni.uwaterloo.ca, http:\/\/cscircles.ca<br \/>\nLicense: http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/-->\n<p>Poznali\u015bmy ju\u017c jedn\u0105 funkcj\u0119 <code>print()<\/code>, kt\u00f3ra wysy\u0142a wiadomo\u015b\u0107 (drukuje na ekranie). Aby u\u017cy\u0107 funkcji, zawsze piszemy jej nazw\u0119, a nast\u0119pnie w nawiasach <code>()<\/code>  jej argumenty. S\u0142owo <em>argument <\/em>w zasadzie oznacza wej\u015bcie do funkcji. Nast\u0119pnie, funkcja dzia\u0142a w zale\u017cno\u015bci od jej argument\u00f3w. Je\u015bli istnieje wiele argument\u00f3w funkcji, oddzielasz je przecinkami (<code>,<\/code>). Na przyk\u0142ad, mo\u017cesz dla funkcji <code>print<\/code> poda\u0107 wiele argument\u00f3w; wydrukuje ona wtedy w tej samej kolejno\u015bci wszystkie argumenty z odst\u0119pami oddzielaj\u0105cymi je. Pokazujemy to w poni\u017cszym przyk\u0142adzie.<form class=\"pbform\" action=\"#\" id=\"pbform0\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox0'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Drukowanie trzech liczb<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode0' id='usercode0'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nx = 3\nprint(x, x +   x  , x * x)<\/textarea><\/div>\n<div id='pbhistory0' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit0' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(0)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(0,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse0\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"0\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"51b3011fc5915e78e76a5018d2450e45\"\/>\n<div id='pbresults0' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit0\").value = \"Run program\";document.getElementById(\"inputInUse0\").value = \"N\";<\/script>\n<table class='pywarn'><tr><td class='pywarnleft'><img src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/warning.png'\/><\/td><td class='pywarnright'><span>   Zauwa\u017c, \u017ce dodatkowe spacje w powy\u017cszym programie w poleceniu print  nie mia\u0142y wp\u0142ywu na wyj\u015bcie (spos\u00f3b drukowania). Dodatkowe spacje nie maj\u0105 znaczenia w wi\u0119kszo\u015bci innych sytuacji. Nale\u017cy jednak pami\u0119ta\u0107, \u017ce <em>dodatkowa przestrze\u0144 <strong>na pocz\u0105tku<\/strong> linii<\/em>, zwana wci\u0119ciem, ma specjalne znaczenie. Je\u015bli wci\u0119cia s\u0105 nieprawid\u0142owe <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/console\/?consolecode=print%28%22This%20line%20is%20ok%22%29%0A%20print%28%22This%20one%20starts%20with%20a%20space%22%29\" target=\"_blank\">mog\u0105 powodowa\u0107 b\u0142\u0119dy (kliknij na przyk\u0142ad)<\/a>. Zobaczysz przyk\u0142ady poprawnych wci\u0119\u0107 kilka lekcji dalej. <\/span><\/td><\/table><\/p>\n<p>Funkcja mo\u017ce zwr\u00f3ci\u0107 warto\u015b\u0107 (na wyj\u015bciu). Na przyk\u0142ad funkcja <code>max()<\/code> (skr\u00f3t od <em>maksimum<\/em>) daje najwi\u0119ksz\u0105 liczb\u0119 spo\u015br\u00f3d argument\u00f3w, kt\u00f3re musz\u0105 by\u0107 liczbami.<br \/>\n<form class=\"pbform\" action=\"#\" id=\"pbform1\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox1'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div><em>Spr\u00f3buj przewidzie\u0107 wynik dzia\u0142ania nast\u0119puj\u0105cego programu jeszcze przed jego uruchomieniem.<\/em><div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode1' id='usercode1'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nprint(max(42, 17))\nprint(max(128,281,812))<\/textarea><\/div>\n<div id='pbhistory1' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit1' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(1)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(1,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse1\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"1\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"63d7a889992170aa6cb0a32d6c940050\"\/>\n<div id='pbresults1' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit1\").value = \"Run program\";document.getElementById(\"inputInUse1\").value = \"N\";<\/script>\nOkre\u015blenie <em>return value<\/em> oznacza warto\u015b\u0107, jak\u0105 funkcja zwraca. Na przyk\u0142ad dla <code>max(42, 17)<\/code> m\u00f3wimy, \u017ce \"funkcja <code>max<\/code> zwr\u00f3ci\u0142a warto\u015b\u0107 (return value) <code>42<\/code>.\"<\/p>\n<p>Funkcja <code>max<\/code> ma przyjaciela, kt\u00f3ry zachowuje si\u0119 podobnie: funkcja <code>min<\/code> zwraca <em>minimum<\/em> (najmniejszy) z jego argument\u00f3w.<\/p>\n<div class='pybox modeNeutral' id='pybox2'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Multiple Choice Exercise: <\/span><span class='title'>Min i Max I<\/span><\/div><div>Co wy\u015bwietli (zwr\u00f3ci) poni\u017cszy program?<\/p>\n<pre>x = 13\r\ny = 7\r\na = max(x+y, x*2)\r\nb = min(x, y)\r\nprint(a,b)<\/pre><\/div><label>Your choice: <\/label><select id=\"pyselect2\"><option value=\"d\" selected>Select one<\/option><option value=\"w\">20 13<\/option><option value=\"r\">26 7<\/option><option value=\"w\">7 26<\/option><option value=\"w\">13 20<\/option><\/select><div class='pyboxbuttons'><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" name=\"slug\" value=\"2.intro\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick='pbMultiCheck(2)'\/><\/div><div class=\"pbresults\" id=\"pyMultiResults2\"><\/div><div class=\"epilogue\">Correct!<\/div><\/div>\n<p>Funkcje mo\u017cemy \u0142\u0105czy\u0107, aby budowa\u0107 bardziej skomplikowane wyra\u017cenia.<br \/>\n<div class='pybox modeNeutral' id='pybox3'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Short Answer Exercise: <\/span><span class='title'>Min i Max II<\/span><\/div>Co zwr\u00f3ci poni\u017cszy program? <a class=\"hintlink\"  id=\"hintlink4\">Wskaz\u00f3wka<\/a><\/p>\n<pre>x = min(max(13, 7), 9)\r\nprint(x)<\/pre><label for=\"pyShortAnswer3\">Your answer (enter a number): <\/label><input type=\"text\" onkeypress=\"{if (event.keyCode==13) pbShortCheck(3)}\" id=\"pyShortAnswer3\"><div class=\"pyboxbuttons\"><input type=\"hidden\" name=\"type\" value=\"number\"\/><input type=\"hidden\" name=\"correct\" value=\"9\"\/><input type=\"hidden\" name=\"slug\" value=\"2.compose\"\/><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick = 'pbShortCheck(3)'\/><\/div><div class=\"pbresults\" id=\"pyShortResults3\"><\/div><div class=\"epilogue\">Correct!<\/div><\/div>\n<p>Nie jeste\u015b ograniczony do u\u017cywania tylko funkcji wbudowanych  w Pythonie. Za kilka lekcji dowiesz si\u0119, jak definiowa\u0107 nowe, w\u0142asne  funkcje!<\/p>\n<h2>Typowe B\u0142\u0119dy<\/h2>\n<p>Je\u015bli wywo\u0142asz funkcj\u0119 z nie wystarczaj\u0105c\u0105 liczb\u0105 argument\u00f3w (wej\u015b\u0107) lub z zbyt wieloma argumentami, otrzymasz b\u0142\u0105d. Na przyk\u0142ad <code>max<\/code> wymaga co najmniej jednego wej\u015bcia (argumentu):<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform5\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox5'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Wywo\u0142anie funkcji <code>max<\/code> ze zbyt ma\u0142\u0105 liczb\u0105 argument\u00f3w.<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode5' id='usercode5'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nmax()<\/textarea><\/div>\n<div id='pbhistory5' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit5' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(5)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(5,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse5\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"5\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"533d15721b982f77f37080b7877c5b1d\"\/>\n<div id='pbresults5' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit5\").value = \"Run program\";document.getElementById(\"inputInUse5\").value = \"N\";<\/script>\n<\/p>\n<p>Bardzo wa\u017cne jest uwa\u017cne czytanie b\u0142\u0119d\u00f3w, kt\u00f3re otrzymasz, gdy kod nie dzia\u0142a. Python zazwyczaj daje pomocne informacje zwrotne na temat tego, co si\u0119 nie powiod\u0142o. Czasami jednak trzeba troch\u0119 si\u0119 rozejrze\u0107, aby zdiagnozowa\u0107 problem - oto przyk\u0142ad.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform6\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox6'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Naci\u015bnij <strong>Uruchom program<\/strong>  i popatrz jaki wyst\u0105pi\u0142 b\u0142\u0105d.<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode6' id='usercode6'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nsmaller = min(14, 99\nbigger = max(3, 4)<\/textarea><\/div>\n<div id='pbhistory6' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit6' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(6)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(6,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse6\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"6\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"167beb08629b6fed87e7d3a0f4c7393e\"\/>\n<div id='pbresults6' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit6\").value = \"Run program\";document.getElementById(\"inputInUse6\").value = \"N\";<\/script>\n<\/p>\n<p>Python m\u00f3wi, \u017ce wyst\u0119pi\u0142 b\u0142\u0105d sk\u0142adni, co oznacza, \u017ce nie rozumie, co pr\u00f3bujesz zrobi\u0107:<\/p>\n<pre> Traceback (most recent call last):\r\n   In line 2 of the code you submitted:\r\n     bigger = max(3, 4)\r\n          ^\r\n SyntaxError: invalid syntax<\/pre>Komentarz o b\u0142\u0119dzie wskazuje drug\u0105 lini\u0119 <code>bigger = max(3, 4)<\/code>, ale ona jest w porz\u0105dku. Problem zacz\u0105\u0142 si\u0119 w pierwszej linii, bo zapomnieli\u015bmy doda\u0107 nawiasu <code>)<\/code> zamykaj\u0105cego <code>smaller = min(14, 99<\/code>. Python zacz\u0105\u0142 go szuka\u0107 w kolejnej linii, ale go tam nie znalaz\u0142. Dlatego wskaza\u0142 drug\u0105 lini\u0119 jako miejsce wyst\u0119powania b\u0142\u0119du, cho\u0107 faktycznie b\u0142\u0105d wyst\u0105pi\u0142 w pierwszej.<\/p>\n<h2>\u0106wiczenie<\/h2>\n<p>Jest to dwucz\u0119\u015bciowe \u0107wiczenie z wykorzystaniem funkcji <code>min<\/code> i <code>max<\/code>. Istniej\u0105 po\u0142\u0105czenia z kilkoma mostkami mi\u0119dzy miastami Maxime i Miniac. Dla ka\u017cdego mostu osobno jest ustalony limit wielko\u015bci ci\u0119\u017caru, kt\u00f3ry mo\u017ce by\u0107 przez nie transportowany.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform7\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox7'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Jedna droga<\/span><\/div>Cz\u0119\u015b\u0107 1: Jest droga mi\u0119dzy dwoma miastami. Droga ma trzy mosty o no\u015bno\u015bci <code>a<\/code>, <code>b<\/code>, <code>c<\/code>, jak pokazano na rysunku poni\u017cej: <\/p>\n<div style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"..\/wp-content\/lesson_files\/img\/2\/one-road-pl.png\" alt=\"\" width=\"770\" height=\"308\" \/><\/div>\n<p>Aby przejecha\u0107 tras\u0119, samoch\u00f3d musi jecha\u0107 najpierw przez most o no\u015bno\u015bci  <code>a<\/code>, nast\u0119pnie o no\u015bno\u015bci <code>b<\/code> i przez most o no\u015bno\u015bci <code>c<\/code>. Twoja ci\u0119\u017car\u00f3wka ulegnie wypadkowi, je\u015bli przekroczysz <em>kt\u00f3rykolwiek<\/em> z limit\u00f3w wagowych. <em>Napisz program, kt\u00f3ry wydrukuje maksymaln\u0105 mas\u0119, kt\u00f3r\u0105 mo\u017cna transportowa\u0107 wzd\u0142u\u017c tej drogi.<\/em> Tw\u00f3j kod powinien zak\u0142ada\u0107, \u017ce zmienne <code>a<\/code>, <code>b<\/code> i <code>c<\/code> ju\u017c zawieraj\u0105 okre\u015blone no\u015bno\u015bci most\u00f3w.<div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode7' id='usercode7'  cols=10 rows=20   class='pyboxCode RW'>\n<\/textarea><\/div>\n<div id='pbhistory7' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit7' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(7)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(7,'Y')\" ><\/td>\n<td><input type='button' name='history' value=\"History\" onclick=\"historyClick(7,'2.bridges1')\" ><\/td>\n<\/tr><\/table><select id='pbSelect7' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='help' data-pbonclick=\"helpClick(7);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse7\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"7\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"ecd7993d5a04e5dace9bd5f19ff1f67d\"\/>\n<div id='pbresults7' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(7);});document.getElementById(\"submit7\").value = \"Run program\";document.getElementById(\"inputInUse7\").value = \"N\";<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform8\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox8'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Dwie drogi<\/span><\/div>Cz\u0119\u015b\u0107 2: Teraz opowiem Ci ci\u0105g dalszy tej historii. Jest te\u017c <strong>druga<\/strong> trasa, na kt\u00f3rej znajduj\u0105 si\u0119 dwa mosty, pierwszy z ograniczeniem ci\u0119\u017caru do <code>d<\/code>, drugi z ograniczeniem ci\u0119\u017caru do <code>e<\/code>, jak pokazano poni\u017cej.<\/p>\n<div style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"..\/wp-content\/lesson_files\/img\/2\/two-roads-pl.png\" alt=\"\" width=\"770\" height=\"448\" \/><\/div>\n<p>Twoja ci\u0119\u017car\u00f3wka mo\u017ce jecha\u0107 dowoln\u0105 tras\u0105. Napisz program, kt\u00f3ry drukuje maksymaln\u0105 mas\u0119, kt\u00f3r\u0105 mo\u017cna przetransportowa\u0107 mi\u0119dzy dwoma miastami. Zak\u0142adamy, \u017ce zmienne <code>a<\/code>, <code>b<\/code>, <code>c<\/code>, <code>d<\/code> i <code>e<\/code> zawieraj\u0105 ograniczenia wagi most\u00f3w.<a class=\"hintlink\"  id=\"hintlink9\">Wskaz\u00f3wka 1<\/a> <a class=\"hintlink\"  id=\"hintlink10\">Wskaz\u00f3wka 2<\/a> <div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode8' id='usercode8'  cols=10 rows=20   class='pyboxCode RW'>\n<\/textarea><\/div>\n<div id='pbhistory8' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit8' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(8)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(8,'Y')\" ><\/td>\n<td><input type='button' name='history' value=\"History\" onclick=\"historyClick(8,'2.bridges2')\" ><\/td>\n<\/tr><\/table><select id='pbSelect8' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='help' data-pbonclick=\"helpClick(8);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse8\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"8\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"296ed9d2e575465c09817d653177563c\"\/>\n<div id='pbresults8' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(8);});document.getElementById(\"submit8\").value = \"Run program\";document.getElementById(\"inputInUse8\").value = \"N\";<\/script>\n<\/p>\n<h2>\u0106wiczenie: Kodowa Uk\u0142adanka<\/h2>\n<p>Oto kolejna kodowa uk\u0142adanka, gdzie musisz przeci\u0105ga\u0107 i upuszcza\u0107 linie, aby je uporz\u0105dkowa\u0107 w odpowiedni program.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform11\" method=\"POST\">\n<div class='pybox modeNeutral scramble' id='pybox11'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Scramble Exercise: <\/span><span class='title'>Sort of Strangeness<\/span><\/div><br \/>\nUporz\u0105dkuj kod tak, aby wydrukowa\u0107 trzy cyfry <code>x<\/code>, <code>y<\/code> i <code>z<\/code> <strong>posortowane <\/strong>rosn\u0105co tak, \u017ce najmniejsza jest jako pierwsza drukowana, a nast\u0119pnie \u015brednia, a na ko\u0144cu najwi\u0119ksza.<br\/><br \/>\n<em>Aby zmieni\u0107 kolejno\u015b\u0107 linii, za pomoc\u0105 myszy przeci\u0105gaj je i upuszczaj.<\/em><ul class=\"pyscramble\" name=\"pyscramble\" id=\"pyscramble11\">\n <li class=\"pyscramble\">print(max(x, y, z))<\/li>\n <li class=\"pyscramble\">print(min(x, y, z))<\/li>\n <li class=\"pyscramble\">print(x+y+z-min(x, y, z)-max(x, y, z))<\/li>\n<\/ul>\n<input type='hidden' id='usercode11' name='usercode11'\/>\n<div id='pbhistory11' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit11' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse11\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"11\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"a474c0ccac5da8834e670b784afba050\"\/>\n<div id='pbresults11' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit11\").value = \"Run program\";document.getElementById(\"inputInUse11\").value = \"N\";<\/script>\n<\/p>\n<p>Po zako\u0144czeniu powy\u017cszych \u0107wicze\u0144 masz dwie mo\u017cliwo\u015bci:<\/p>\n<ul>\n<li>Mo\u017cesz przej\u015b\u0107 bezpo\u015brednio do <a class=\"open-same-window\" href=\"\/3-comments-literals\/\">Lekcji 3<\/a>, lub<\/li>\n<li>mo\u017cesz wykona\u0107 dodatkowe \u0107wiczenia dotycz\u0105ce funkcji w <a class=\"open-same-window\" href=\"\/2x-extra-practice\/\">Lekcji 2X<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Poznali\u015bmy ju\u017c jedn\u0105 funkcj\u0119 print(), kt\u00f3ra wysy\u0142a wiadomo\u015b\u0107 (drukuje na ekranie). Aby u\u017cy\u0107 funkcji, zawsze piszemy jej nazw\u0119, a nast\u0119pnie w nawiasach () jej argumenty. S\u0142owo argument w zasadzie oznacza wej\u015bcie do funkcji. Nast\u0119pnie, funkcja dzia\u0142a w zale\u017cno\u015bci od jej &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/pl-2\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9868","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/comments?post=9868"}],"version-history":[{"count":10,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9868\/revisions"}],"predecessor-version":[{"id":10017,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9868\/revisions\/10017"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=9868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}