{"id":9958,"date":"2017-05-18T02:06:34","date_gmt":"2017-05-18T06:06:34","guid":{"rendered":"https:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=9958"},"modified":"2017-06-10T13:34:38","modified_gmt":"2017-06-10T17:34:38","slug":"7a-pl","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/7a-pl\/","title":{"rendered":"7A: \u0141a\u0144cuchy"},"content":{"rendered":"<!-- Please retain this notice and add more notes if you create a new version.<br \/>\nOriginal lesson author: David Pritchard, daveagp@gmail.com, http:\/\/cscircles.ca<br \/>\nLicense: http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/-->\n<p><em>Lekcja 7 sk\u0142ada si\u0119 z trzech cz\u0119\u015bci A, B i C, kt\u00f3re mo\u017cna wykona\u0107 w dowolnej kolejno\u015bci.<\/em><\/p>\n<p>Do tej pory u\u017cywali\u015bmy \u0142a\u0144cuch\u00f3w (element\u00f3w typu <code>str<\/code>) tylko w podstawowym zakresie. W tej lekcji pokazujemy, jak manipulowa\u0107 \u0142a\u0144cuchami: jak je dzieli\u0107, \u0142\u0105czy\u0107 i jak wy\u015bwietla\u0107 pojedyncze <em>znaki<\/em> tworz\u0105ce \u0142a\u0144cuch.<\/p>\n<h2>Co to jest \u0142a\u0144cuch?<\/h2>\n<p>Wszystkie dane w komputerze przechowywane s\u0105 ostatecznie w postaci sekwencji zer i jedynek. Dotyczy to tekst\u00f3w, cyfrowych ksi\u0105\u017cek, obraz\u00f3w, piosenek, film\u00f3w wideo i \"plik\u00f3w wykonywalnych\", takich jak gry i aplikacje. \u0141a\u0144cuchy, przyk\u0142adowo dane tekstowe, s\u0105 przechowywane w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<ul>\n<li>\u0142a\u0144cuch to ci\u0105g znak\u00f3w (n.p., \u0142a\u0144cuch \"Hello, World!\" zawiera 13 znak\u00f3w, w tym litery takie jak \"H\", \"e\" i interpunkcyjne takie jak \" \", \"!\"<\/li>\n<li> w rzeczywisto\u015bci ka\u017cdy znak jest reprezentowany przez liczb\u0119 (n.p., \"H\" jest reprezentowane przez liczb\u0119 40; to jest jego warto\u015b\u0107 w kodzie <a href=\"http:\/\/en.wikipedia.org\/wiki\/ASCII\">ASCII<\/a>\/<a href=\"http:\/\/en.wikipedia.org\/wiki\/Unicode\">Unicode<\/a>)<\/li>\n<\/ul>\n<p>(Liczby s\u0105 przechowywane w formacie <a href=\"http:\/\/en.wikipedia.org\/wiki\/Binary_numeral_system\">binarnym<\/a> 0-1.)<\/p>\n<h2>Przetwarzanie \u0142a\u0144cuch\u00f3w jako ci\u0105gu znak\u00f3w: <code>S[]<\/code><\/h2>\n<p>Aby przetwarza\u0107 \u0142a\u0144cuch, musimy mie\u0107 dost\u0119p do pojedynczych znak\u00f3w tworz\u0105cych ten \u0142a\u0144cuch. W Pythonie jest to wykonywane w nast\u0119puj\u0105cy spos\u00f3b: dla \u0142a\u0144cucha <code>S<\/code> i dla ca\u0142kowitego <code>index<\/code>, zapis<\/p>\n<pre>S[index]<\/pre>zwraca znak z pozycji <code>index<\/code> z \u0142a\u0144cucha <code>S<\/code>. <strong>Zgodnie z konwencj\u0105<\/strong>, pierwszy element \u0142a\u0144cucha ma index 0: tak wi\u0119c <code>S[0]<\/code> to pierwszy znak, <code>S[1]<\/code> to drugi znak itd. W \"Hello, World\" lista znak\u00f3w to:<\/p>\n<pre>Index: 0 \u00a01 \u00a02 \u00a03 \u00a04 \u00a05 \u00a06 \u00a07 \u00a08 \u00a09 10 11 12\r\nChar.: H \u00a0e \u00a0l \u00a0l \u00a0o \u00a0, \u00a0 \u00a0 W \u00a0o \u00a0r \u00a0l \u00a0d \u00a0!<\/pre>Zauwa\u017c, \u017ce znak, kt\u00f3rego index wynosi 6 to spacja.<\/p>\n<p><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> W wielu j\u0119zykach programowania istnieje osobny typ danych dla znak\u00f3w. W Pythonie, znaki s\u0105 \u0142a\u0144cuchami o d\u0142ugo\u015bci 1, wi\u0119c <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/console\/?consolecode=ch%20%3D%20%22Hi%22%5B0%5D%0Aprint%28ch%29%0Aprint%28type%28ch%29%29%0Aprint%28len%28ch%29%29\" target=\"_blank\">ich typ to <code>str<\/code><\/a>. <\/span><\/td><\/table><\/p>\n<h2>Sprawdzanie liczby znak\u00f3w w \u0142a\u0144cuchu: <code>len<\/code><\/h2>\n<p>W Pythonie, aby sprawdzi\u0107 liczb\u0119 znak\u00f3w w \u0142a\u0144cuchu, u\u017cywamy funkcji <code>len<\/code>. Na przyk\u0142ad <code>len<\/code> (\"Hello, World!\") wynosi 13.<\/p>\n<div class='pybox modeNeutral' id='pybox0'>\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'>Ostatni znak<\/span><\/div><div>Jakiego wyra\u017cenia nale\u017cy u\u017cy\u0107 dla ustalenia <strong>ostatniego <\/strong>znaku w \u0142a\u0144cuchu <code>S<\/code>?<\/div><label>Your choice: <\/label><select id=\"pyselect0\"><option value=\"d\" selected>Select one<\/option><option value=\"w\">S[len(S)]<\/option><option value=\"w\">S[len(S)+1]<\/option><option value=\"r\">S[len(S)-1]<\/option><\/select><div class='pyboxbuttons'><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" name=\"slug\" value=\"7a.last\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick='pbMultiCheck(0)'\/><\/div><div class=\"pbresults\" id=\"pyMultiResults0\"><\/div><div class=\"epilogue\">Poprawnie! Chocia\u017c <code>len(S)<\/code> podaje liczb\u0119 znak\u00f3w w \u0142a\u0144cuchu, ale rozpoczyna zliczanie od indeksu <code>0<\/code>, wi\u0119c ostatni znak ma indeks <code>len(S)-1<\/code>.<\/div><\/div>\n<p>Oto przyk\u0142ad u\u017cycia <code>len<\/code> i <code>[]<\/code>, dw\u00f3ch narz\u0119dzi, kt\u00f3re w\u0142a\u015bnie zosta\u0142y wprowadzone.<br \/>\n<form class=\"pbform\" action=\"#\" id=\"pbform1\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox1'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>D\u0142ugo\u015b\u0107 \u0142a\u0144cucha i znaki<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 110px;'><textarea wrap='off' name='usercode1' id='usercode1'  cols=10 rows=4 readonly='readonly'  style = 'height : 110px;'  class='pyboxCode RO'>\nmagic = 'Abracadabra!'\nprint(magic)\nprint(len(magic))\nprint(magic[0], magic[1], magic[len(magic)-1])<\/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=\"323a4251b5eba36d60677edeb152a69e\"\/>\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>\n<\/p>\n<h2>Ci\u0119cie \u0142a\u0144cuch\u00f3w: <code>S[:]<\/code><\/h2>\n<p>Wyci\u0119cie cz\u0119\u015bci \u0142a\u0144cucha daje <strong>pod\u0142a\u0144cuch<\/strong>. Na przyk\u0142ad \u0142a\u0144cuchy \"eat\" i \"ted\" to pod\u0142a\u0144cuchy \"repeated\". W Pythonie, aby wyodr\u0119bni\u0107 pod\u0142a\u0144cuch, u\u017cywamy nast\u0119puj\u0105cej sk\u0142adni<\/p>\n<pre>S[firstIndex:tailIndex]<\/pre>do uzyskania pod\u0142a\u0144cucha rozpoczynaj\u0105cego si\u0119 od indeksu <strong>firstIndex<\/strong> i ko\u0144cz\u0105cego si\u0119 na <strong>tailIndex-1<\/strong>. Sprawd\u017a efekt dzia\u0142ania nast\u0119puj\u0105cego kodu.<br \/>\n<form class=\"pbform\" action=\"#\" id=\"pbform2\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox2'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Pod\u0142a\u0144cuchy<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 110px;'><textarea wrap='off' name='usercode2' id='usercode2'  cols=10 rows=4 readonly='readonly'  style = 'height : 110px;'  class='pyboxCode RO'>\nmyString = 'Weighty'\nprint(myString[1:6])\nprint('magic'[3:3])\nprint('chump'[0:4])<\/textarea><\/div>\n<div id='pbhistory2' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit2' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(2)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(2,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse2\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"2\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"0e226bf9cdc7c1865d2bd1cc3d5b32c2\"\/>\n<div id='pbresults2' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit2\").value = \"Run program\";document.getElementById(\"inputInUse2\").value = \"N\";<\/script>\n<\/p>\n<p><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 przy otrzymywaniu pod\u0142a\u0144cucha, firstIndex <strong>jest<\/strong> cz\u0119\u015bci\u0105 pod\u0142a\u0144cucha, natomiast tailIndex ju\u017c <strong>nie<\/strong>. Zapominanie o tym, jest cz\u0119stym \u017ar\u00f3d\u0142em b\u0142\u0119d\u00f3w. Ma to jednak dobre strony. Na przyk\u0142ad, ze wzgl\u0119du na to ustalenie, d\u0142ugo\u015b\u0107 pod\u0142a\u0144cucha <code>S[i:j]<\/code> wynosi zawsze <code>j-i<\/code>. Konwencja ta jest cz\u0119sto przedstawiana jako linijka: <img decoding=\"async\" style=\"border:none; text-align:center; margin-left:auto; margin-right:auto; float:none\" class=\" aligncenter\" src=\"..\/wp-content\/lesson_files\/img\/7\/substring-pl.png\" alt=\"\" \/> <\/span><\/td><\/table><\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform3\" method=\"POST\">\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'>Coding Exercise: <\/span><span class='title'>Golenie \u0141a\u0144cucha<\/span><\/div>Napisz program, kt\u00f3ry z u\u017cyciem <code>input()<\/code> odczytuje \u0142a\u0144cuch i wysy\u0142a ten sam \u0142a\u0144cuch, ale usuwaj\u0105c pierwszy i ostatni znak. (Mo\u017cna za\u0142o\u017cy\u0107, \u017ce ci\u0105g wej\u015bciowy ma d\u0142ugo\u015b\u0107 co najmniej 2.) Na przyk\u0142ad, gdy na wej\u015bciu mamy <code>Fairy<\/code>, prawid\u0142owy  program wydrukuje <code>air<\/code>.<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='usercode3' id='usercode3'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory3' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput3\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit3' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch3\" value=\"Input Switch\" onclick=\"pbInputSwitch(3,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(3)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(3,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect3' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(3,'7a.firstlast')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(3);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse3\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"3\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"a778d3cb21f6712c872d874076f002bf\"\/>\n<div id='pbresults3' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(3);});pbInputSwitch(3,\"N\");<\/script>\n<\/p>\n<h2>Sklejanie \u0142a\u0144cuch\u00f3w: <code>+<\/code><\/h2>\n<p>Wszyscy wiemy, \u017ce 1 + 2 = 3. Dla ci\u0105g\u00f3w otrzymujemy nast\u0119puj\u0105cy wynik:<br \/>\n<form class=\"pbform\" action=\"#\" id=\"pbform4\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox4'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Dodawanie \u0142ancuch\u00f3w<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 84px;'><textarea wrap='off' name='usercode4' id='usercode4'  cols=10 rows=3 readonly='readonly'  style = 'height : 84px;'  class='pyboxCode RO'>\nresult = 'one' + 'two'\nprint(result)\nprint(len(result))<\/textarea><\/div>\n<div id='pbhistory4' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit4' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(4)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(4,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse4\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"4\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"efde8414ab04e6d733ccce74d3c9ff2d\"\/>\n<div id='pbresults4' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit4\").value = \"Run program\";document.getElementById(\"inputInUse4\").value = \"N\";<\/script>\n<\/p>\n<p>Jak wida\u0107, efektem <code>S + T<\/code> jest utworzenie nowego \u0142a\u0144cucha, kt\u00f3ry zaczyna si\u0119 od <code>S<\/code> i po tym zaraz nast\u0119puje <code>T<\/code>. Ta operacja sklejania \u0142a\u0144cuch\u00f3w nazywana jest r\u00f3wnie\u017c <strong>konkatenacj\u0105<\/strong>.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform5\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox5'>\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'>G\u0142owy i Ogony<\/span><\/div>Napisz program, kt\u00f3ry, u\u017cywaj\u0105c <code>input()<\/code>, czyta \u0142a\u0144cuch i wyprowadza ten sam \u0142a\u0144cuch, ale z dwoma <strong>zamienionymi<\/strong> znakami: pierwszy z ostatni znakiem. (Mo\u017cesz za\u0142o\u017cy\u0107, \u017ce \u0142a\u0144cuch wej\u015bciowy ma d\u0142ugo\u015b\u0107 co najmniej 2.) Na przyk\u0142ad, gdy na wej\u015bciu mamy <code>Fairy<\/code> prawid\u0142owy program wydrukuje <code>yairF<\/code>. Wskaz\u00f3wka: jako cz\u0119\u015bci odpowiedzi u\u017cyj swojego rozwi\u0105zania z poprzedniego programu.<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='usercode5' id='usercode5'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory5' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput5\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit5' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch5\" value=\"Input Switch\" onclick=\"pbInputSwitch(5,'N')\" ><\/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><select id='pbSelect5' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(5,'7a.swap')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(5);\" >Help<\/option>\n<\/select><\/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=\"d06de88270882d66a84a48ce0bcc931f\"\/>\n<div id='pbresults5' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(5);});pbInputSwitch(5,\"N\");<\/script>\n<\/p>\n<p><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> Je\u015bli chcesz z\u0142\u0105czy\u0107 dwie liczby, musisz je najpierw przekonwertowa\u0107 na <code>str<\/code>. W przeciwnym razie dostaniesz, w zale\u017cno\u015bci od kolejno\u015bci pr\u00f3b, jeden z dw\u00f3ch b\u0142\u0119d\u00f3w. Uruchom ten program, aby zobaczy\u0107 jakie b\u0142\u0119dy mog\u0105 wyst\u0105pi\u0107.<form class=\"pbform\" action=\"#\" id=\"pbform6\" method=\"POST\">\n<div class='pybox modeNeutral scramble facultative' id='pybox6'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Zmie\u0144 kolejno\u015b\u0107 linii, aby zobaczy\u0107 drugi b\u0142\u0105d \u0142\u0105czenia. <ul class=\"pyscramble\" name=\"pyscramble\" id=\"pyscramble6\">\n <li class=\"pyscramble\">print(&quot;high &quot; + 5)<\/li>\n <li class=\"pyscramble\">print(110 + &quot; percent&quot;)<\/li>\n<\/ul>\n<input type='hidden' id='usercode6' name='usercode6'\/>\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<\/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=\"42f55e078525cdaf706e417b10880dee\"\/>\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>\nOto poprawny przyk\u0142ad: funkcja\u00a0<code>str()<\/code> przed po\u0142\u0105czeniem konwertuje liczb\u0119 na \u0142a\u0144cuch .<form class=\"pbform\" action=\"#\" id=\"pbform7\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox7'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Konwertowanie liczby na \u0142a\u0144cuch z u\u017cyciem <code>str()<\/code><div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode7' id='usercode7'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nprint(\"high \" + str(5))<\/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,'N')\" ><\/td>\n<\/tr><\/table><\/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=\"daa4e48441b54e974cbdf799ca6e292e\"\/>\n<div id='pbresults7' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit7\").value = \"Run program\";document.getElementById(\"inputInUse7\").value = \"N\";<\/script>\n <\/span><\/td><\/table><\/p>\n<p>Jak wspomnieli\u015bmy w lekcji 4, \u0142a\u0144cuchy i liczby ca\u0142kowite mo\u017cna mno\u017cy\u0107: <code>S * n<\/code> jest skr\u00f3conym zapisem dla <code>S + S + ... + S<\/code>.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform8\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox8'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Mno\u017cenie \u0142a\u0144cucha<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode8' id='usercode8'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nprint(\"hots\" * 2)\nprint(\"mi\"+(\"s\"*2+\"i\")*2+\"ppi\")<\/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,'N')\" ><\/td>\n<\/tr><\/table><\/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=\"925f6d8d9c2560c5cb1806844f936b21\"\/>\n<div id='pbresults8' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit8\").value = \"Run program\";document.getElementById(\"inputInUse8\").value = \"N\";<\/script>\n<\/p>\n<h2>Kody Znak\u00f3w: <code>ord<\/code>, <code>chr<\/code><a name=\"ord\"><\/a><\/h2>\n<p>Jak wspomniano we wprowadzeniu do tej lekcji, tw\u00f3j komputer faktycznie reprezentuje ka\u017cdy znak w postaci liczby. Jaka liczba odpowiada okre\u015blonemu znakowi? Og\u00f3lnie rzecz bior\u0105c, mo\u017ce to zale\u017ce\u0107 od tego, co <em>koduje <\/em>tw\u00f3j komputer, ale prawie wszystkie nowoczesne komputery maj\u0105 standardowy zestaw znak\u00f3w dla liczb mi\u0119dzy 32 a 255. Oto lista znak\u00f3w z liczbami mi\u0119dzy 32 a 127:<\/p>\n<pre>ord: 32 \u00a033 \u00a034 \u00a035 \u00a036 \u00a037 \u00a038 \u00a039 \u00a040 \u00a041 \u00a042 \u00a043 \u00a044 \u00a045 \u00a046 \u00a047\r\nchr: \u00a0 \u00a0 \u00a0! \u00a0 \" \u00a0 # \u00a0 $ \u00a0 % \u00a0 &amp; \u00a0 ' \u00a0 ( \u00a0 ) \u00a0 * \u00a0 + \u00a0 , \u00a0 - \u00a0 . \u00a0 \/\r\nord: 48 \u00a049 \u00a050 \u00a051 \u00a052 \u00a053 \u00a054 \u00a055 \u00a056 \u00a057 \u00a058 \u00a059 \u00a060 \u00a061 \u00a062 \u00a063\r\nchr: \u00a00 \u00a0 1 \u00a0 2 \u00a0 3 \u00a0 4 \u00a0 5 \u00a0 6 \u00a0 7 \u00a0 8 \u00a0 9 \u00a0 : \u00a0 ; \u00a0 &lt; \u00a0 = \u00a0 &gt; \u00a0 ?\r\nord: 64 \u00a065 \u00a066 \u00a067 \u00a068 \u00a069 \u00a070 \u00a071 \u00a072 \u00a073 \u00a074 \u00a075 \u00a076 \u00a077 \u00a078 \u00a079\r\nchr: \u00a0@ \u00a0 A \u00a0 B \u00a0 C \u00a0 D \u00a0 E \u00a0 F \u00a0 G \u00a0 H \u00a0 I \u00a0 J \u00a0 K \u00a0 L \u00a0 M \u00a0 N \u00a0 O\r\nord: 80 \u00a081 \u00a082 \u00a083 \u00a084 \u00a085 \u00a086 \u00a087 \u00a088 \u00a089 \u00a090 \u00a091 \u00a092 \u00a093 \u00a094 \u00a095\r\nchr: \u00a0P \u00a0 Q \u00a0 R \u00a0 S \u00a0 T \u00a0 U \u00a0 V \u00a0 W \u00a0 X \u00a0 Y \u00a0 Z \u00a0 [ \u00a0 \\ \u00a0 ] \u00a0 ^ \u00a0 _\r\nord: 96 \u00a097 \u00a098 \u00a099 \u00a0100 101 102 103 104 105 106 107 108 109 110 111\r\nchr: \u00a0` \u00a0 a \u00a0 b \u00a0 c \u00a0 d \u00a0 e \u00a0 f \u00a0 g \u00a0 h \u00a0 i \u00a0 j \u00a0 k \u00a0 l \u00a0 m \u00a0 n \u00a0 o\r\nord: 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127\r\nchr: \u00a0p \u00a0 q \u00a0 r \u00a0 s \u00a0 t \u00a0 u \u00a0 v \u00a0 w \u00a0 x \u00a0 y \u00a0 z \u00a0 { \u00a0 | \u00a0 } \u00a0 ~<\/pre>P\u00f3\u017aniej, w lekcji 8, napiszesz program do wygenerowania tej tabeli.<br \/>\nNie jest przydatne zapami\u0119tywanie ca\u0142ej tabeli, ale warto pami\u0119ta\u0107 o pewnych faktach:<\/p>\n<ul>\n<li>ma\u0142e litery  a, b, c, ..., z maj\u0105 kolejne kody<\/li>\n<li>wielkie litery  A, B, C, ..., Z maj\u0105 kolejne kody<\/li>\n<li>cyfry 0, 1, 2, ..., 9 maj\u0105 kolejne kody<\/li>\n<\/ul>\n<p>Znak 32 to spacja, a znak 127 (to Delete) to jeden z kilku specjalnych znak\u00f3w \"kontrolnych\". Niekt\u00f3re przydatne znaki kontrolne to 9, czyli Tab, oraz 10 i 13, kt\u00f3re s\u0105 u\u017cywane dla <a href=\"http:\/\/en.wikipedia.org\/wiki\/Newline\">newlines<\/a>.<\/p>\n<p>W Pythonie mo\u017cna konwertowa\u0107 znak na odpowiedni kod liczbowy u\u017cywaj\u0105c funkcji <code>ord<\/code>. Funkcja <code>chr<\/code> daje efekt odwrotny: przyjmuje liczb\u0119 jako dane wej\u015bciowe i zwraca znak o tym kodzie.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform9\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox9'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Przy\u0142ady z <code>ord<\/code> i <code>chr<\/code> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode9' id='usercode9'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nprint(ord('a'), ord('b'), ord('A'), ord('B'), ord(' '))\nprint(chr(35), chr(43), chr(100))<\/textarea><\/div>\n<div id='pbhistory9' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit9' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(9)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(9,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse9\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"9\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"a351e1806345a8af896f5e992e2af359\"\/>\n<div id='pbresults9' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit9\").value = \"Run program\";document.getElementById(\"inputInUse9\").value = \"N\";<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform10\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox10'>\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'>Nast\u0119pna Litera<\/span><\/div>Napisz program, kt\u00f3ry przyjmuje na wej\u015bciu znak (\u0142a\u0144cuch o d\u0142ugo\u015bci 1),  o kt\u00f3rym nale\u017cy za\u0142o\u017cy\u0107, \u017ce jest to wielka litera; wynikiem powinna by\u0107 nast\u0119pna litera alfabetu. Je\u015bli wej\u015bcie jest \"Z\", to wyj\u015bcie powinno by\u0107 \"A\". (Musisz u\u017cy\u0107 instrukcji <code>if<\/code>. Aby uzyska\u0107 kolejn\u0105 wskaz\u00f3wk\u0119 <a class=\"hintlink\"  id=\"hintlink11\">kliknij tutaj<\/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='usercode10' id='usercode10'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory10' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput10\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit10' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch10\" value=\"Input Switch\" onclick=\"pbInputSwitch(10,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(10)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(10,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect10' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(10,'7a.lowercase')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(10);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse10\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"10\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"e2887b9e559d5ffdbcae0d8d40ef56ae\"\/>\n<div id='pbresults10' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(10);});pbInputSwitch(10,\"N\");<\/script>\n<\/p>\n<p><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> Niekt\u00f3re systemy obs\u0142uguj\u0105 tylko drukowane znaki mi\u0119dzy 32 a 127; inne do 255 lub 65535; w Unicode s\u0105 setki tysi\u0119cy znak\u00f3w. Wi\u0119cej na temat historii tego zagadnienia mo\u017cesz przeczyta\u0107 <a href=\"http:\/\/en.wikipedia.org\/wiki\/American_Standard_Code_for_Information_Interchange\">tutuj<\/a> lub <a href=\"http:\/\/www.joelonsoftware.com\/articles\/Unicode.html\">tutaj<\/a>. <\/span><\/td><\/table><\/p>\n<p>Oto dwa dodatkowe \u0107wiczenia, kt\u00f3re ko\u0144cz\u0105 t\u0105 lekcj\u0119.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform12\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox12'>\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'>\u015awi\u0144ska \u0141acina<\/span><\/div><strong>\u015awi\u0144ska \u0142acina<\/strong> to nonsensowny j\u0119zyk. Aby przekszta\u0142ci\u0107 s\u0142owo z j\u0119zyka angielskiego na \u015bwi\u0144sk\u0105 \u0142acin\u0119, przesu\u0144 pierwsz\u0105 liter\u0119 na koniec i dodaj \"ay\". Na przyk\u0142ad <em>monkey<\/em> w \u015bwi\u0144skiej \u0142acinie staje si\u0119 <em>onkeymay<\/em> a <em>word<\/em> staje si\u0119 <em>ordway<\/em>. Napisz program, kt\u00f3ry pobiera s\u0142owo jako dane wej\u015bciowe i przek\u0142ada go na \u015bwi\u0144sk\u0105 \u0142acin\u0119. (W rzeczywisto\u015bci \u015bwi\u0144ska \u0142acina ma zasady bardziej z\u0142o\u017cone ni\u017c tu przedstawili\u015bmy, ale upraszczamy je do cel\u00f3w tego \u0107wiczenia).<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='usercode12' id='usercode12'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory12' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput12\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit12' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch12\" value=\"Input Switch\" onclick=\"pbInputSwitch(12,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(12)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(12,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect12' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(12,'7a.piglatin')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(12);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse12\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"12\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"4b44c9946a13851993912d0bdeeeef73\"\/>\n<div id='pbresults12' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(12);});pbInputSwitch(12,\"N\");<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform13\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox13'>\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'>Nowa Gra<\/span><\/div><strong>Nowa gra<\/strong> umo\u017cliwia utworzenie utworu z imienia dowolnej osoby. Pos\u0142uchaj utworu opartego na tym pomy\u015ble, by wiedzie\u0107 jak to dzia\u0142a: <a href=\"https:\/\/www.youtube.com\/watch?v=NeF7jqf0GU4\">youtube<\/a> Tw\u00f3j program powinien pobiera\u0107 imi\u0119 osoby jako dane wej\u015bciowe, np. \"Pearl\" i wydrukowa\u0107 utw\u00f3r taki jak poni\u017cej: <\/p>\n<pre>pearl, pearl, bo-bearl<br\/>banana-fana fo-fearl<br\/>fee-fi-mo-mearl<br\/>pearl!<\/pre> Zauwa\u017c, \u017ce ca\u0142e imi\u0119 pojawia si\u0119 trzykrotnie; dodatkowo nazwa pojawia si\u0119 trzy razy z pierwsz\u0105 liter\u0105 zast\u0119powan\u0105 przez b, f lub m. (W rzeczywisto\u015bci piosenka ma zasady bardziej z\u0142o\u017cone ni\u017c te, ale ignorujemy je do cel\u00f3w tego \u0107wiczenia.)<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='usercode13' id='usercode13'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory13' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput13\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit13' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch13\" value=\"Input Switch\" onclick=\"pbInputSwitch(13,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(13)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(13,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect13' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(13,'7a.namegame')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(13);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse13\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"13\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"9f25dc2241d17f5c9f1fe07b30c11874\"\/>\n<div id='pbresults13' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(13);});pbInputSwitch(13,\"N\");<\/script>\n<\/p>\n<p><em>Przejd\u017a do nast\u0119pnej lekcji!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lekcja 7 sk\u0142ada si\u0119 z trzech cz\u0119\u015bci A, B i C, kt\u00f3re mo\u017cna wykona\u0107 w dowolnej kolejno\u015bci. Do tej pory u\u017cywali\u015bmy \u0142a\u0144cuch\u00f3w (element\u00f3w typu str) tylko w podstawowym zakresie. W tej lekcji pokazujemy, jak manipulowa\u0107 \u0142a\u0144cuchami: jak je dzieli\u0107, \u0142\u0105czy\u0107 &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/7a-pl\/\">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-9958","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9958","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=9958"}],"version-history":[{"count":20,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9958\/revisions"}],"predecessor-version":[{"id":10116,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9958\/revisions\/10116"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=9958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}