{"id":9960,"date":"2017-05-18T02:07:00","date_gmt":"2017-05-18T06:07:00","guid":{"rendered":"https:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=9960"},"modified":"2017-06-26T16:47:27","modified_gmt":"2017-06-26T20:47:27","slug":"7c-pl","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/7c-pl\/","title":{"rendered":"7C: P\u0119tle"},"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, C, kt\u00f3re mo\u017cna wykona\u0107 w dowolnej kolejno\u015bci.<\/em><\/p>\n<p>Do tej pory uczyli\u015bmy si\u0119  podstawowych polece\u0144 programowania (n.p. przypisywania warto\u015bci, drukowania) oraz sposobu sprawdzania, kt\u00f3re instrukcje s\u0105 wykonywane przy u\u017cyciu instrukcji <code>if<\/code>. W tej lekcji wprowadzamy <strong>p\u0119tle<\/strong>  (nazywane <strong>powt\u00f3rzeniami<\/strong> lub <strong>iteracj\u0105<\/strong>): spos\u00f3b na robienie przez komputer tego samego (lub podobnych rzeczy) w k\u00f3\u0142ko. Na przyk\u0142ad, sprawdzanie pisowni <code>ka\u017cdego<\/code> s\u0142owa w dokumencie by\u0142oby wykonywane za pomoc\u0105 p\u0119tli. Opisujemy dwa rodzaje p\u0119tli Pythona w tej lekcji: p\u0119tle <code>while<\/code> i p\u0119tle <code>for<\/code>.<\/p>\n<h2>P\u0119tle <code>while<\/code><\/h2>\n<p>Instrukcja <code>while<\/code> powtarza fragment kodu w k\u00f3\u0142ko, tak d\u0142ugo, dop\u00f3ki jaki\u015b warunek jest prawdziwy. Oto przyk\u0142ad:<\/p>\n<p><iframe width='100%' height='480' frameborder='0' scrolling='no' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/OnlinePythonTutor3-cemc\/iframe-embed.html#code=timeLeft+%3D+5%0Awhile+timeLeft+%3E+0%3A++++++%23+warunek%0A++print%28timeLeft%29++++++++%23+cia%C5%82o%0A++timeLeft+%3D+timeLeft-1++%23+cia%C5%82o%0Aprint%28%27Blastoff%21%27%29+++++++%23+po+p%C4%99tli&cumulative=false&heapPrimitives=false&drawParentPointers=false&textReferences=false&showOnlyOutputs=false&py=3&curInstr=0&resizeContainer=true&highlightLines&width=450&rightStdout=1'><\/iframe><\/p>\n<p>Pierwsza linia to <code>while \u00abwarunek\u00bb:<\/code>, gdzie \u00abwarunek\u00bb jest wyra\u017ceniem, kt\u00f3re zwraca <code>True<\/code> lub <code>False<\/code> (wyra\u017cenie typu boolowskiego, podobnie jak <code>if<\/code>).<\/p>\n<p>Oto og\u00f3lna struktura:<\/p>\n<ul>\n<li>Pierwsza linia to <code>while \u00abwarunek\u00bb:<\/code>, gdzie \u00abwarunek\u00bb jest wyra\u017ceniem, kt\u00f3re zwraca <code>True<\/code> lub <code>False<\/code> (wyra\u017cenie typu boolowskiego, podobnie jak <code>if<\/code>).<\/li>\n<li>Nast\u0119pnie, wstawimy wci\u0119ty blok (zn\u00f3w, jak np. w instrukcja <code>if<\/code>) sk\u0142adaj\u0105cy si\u0119 z wyra\u017ce\u0144, kt\u00f3re chcemy powtarza\u0107 w k\u00f3\u0142ko. Nazywamy to <em>cia\u0142em<\/em>.<\/li>\n<li>Kiedy program jest uruchomiony, poni\u017csze jest powtarzane:\n<ul>\n<li>O Warunek jest testowany; je\u015bli warunek jest <code>True<\/code>, wtedy cia\u0142o jest wykonywane,  potem powtarzamy wszystko od g\u00f3ry; gdy warunek zostanie oszacowany jako <code>False<\/code>, p\u0119tla zostanie zatrzymana.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>W powy\u017cszym przyk\u0142adzie powtarzamy cia\u0142o p\u0119tli, a\u017c <code>timeLeft<\/code> nie b\u0119dzie wi\u0119ksza ni\u017c 0.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform0\" method=\"POST\">\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'>Coding Exercise: <\/span><span class='title'>Odliczanie<\/span><\/div>Zmodyfikuj powy\u017cszy przyk\u0142ad tak, aby otrzyma\u0107 program <strong>odliczaj\u0105cy<\/strong>, w kt\u00f3rym licz\u0105c od 1 do <strong>10<\/strong> drukujemy <code>Odpalenie!<\/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='usercode0' id='usercode0'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory0' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput0\">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='submit0' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch0\" value=\"Input Switch\" onclick=\"pbInputSwitch(0,'N')\" ><\/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><select id='pbSelect0' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(0,'7c.countup')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(0);\" >Help<\/option>\n<\/select><\/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=\"d13cc89f4d22d3f56ada6405a2dc13f4\"\/>\n<div id='pbresults0' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(0);});pbInputSwitch(0,\"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> Z u\u017cyciem p\u0119tlami \u0142atwo jest napisa\u0107 program, kt\u00f3ry dzia\u0142a w <em>niesko\u0144czonej<\/em> p\u0119tli.  <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>Infinite loop<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'>\nwhile True:\n x=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=\"7a48ca21c722ec9b36719434e8bb9f57\"\/>\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 Otrzymasz b\u0142\u0105d \"Time Limit Exceeded\" (Przekroczono limit czasu), poniewa\u017c nasz serwer internetowy CS Circles wymusza limit czasu; po up\u0142ywie 1 sekundy program zostaje zako\u0144czony. Je\u015bli <a href=\"\/run-at-home\/\">uruchomi\u0142by\u015b program w domu<\/a>, to ca\u0142y czas by dzia\u0142a\u0142 (dop\u00f3ki nie zmusi\u0142by\u015b go do zako\u0144czenia, zazwyczaj, poprzez  naci\u015bni\u0119cie klawiszy Ctrl-C).\u00a0 <\/span><\/td><\/table><\/p>\n<h2>P\u0119tle <code>for<\/code><\/h2>\n<p>W Pythonie jest te\u017c inny rodzaj p\u0119tli zwanej p\u0119tl\u0105 <code>for<\/code>. W wielu sytuacjach mo\u017ce by\u0107 u\u017cyty kt\u00f3rykolwiek rodzaj p\u0119tli (<code>for<\/code>\/<code>while<\/code>), a jeden jest prostszy od drugiego, wi\u0119c dobrze jest wiedzie\u0107, jak u\u017cywa\u0107 obu. P\u0119tla <code>for<\/code> jest tak zbudowana, \u017ce \u0142atwo porusza\u0107 si\u0119 w okre\u015blonym zakresie liczb (lub jak zobaczymy w p\u00f3\u017aniejszej lekcji, po dowolnej li\u015bcie danych).<\/p>\n<p>Poni\u017cej przyk\u0142ad p\u0119tli <code>for<\/code>.<\/p>\n<p><iframe width='100%' height='480' frameborder='0' scrolling='no' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/OnlinePythonTutor3-cemc\/iframe-embed.html#code=for+counter+in+range%2810%2C+15%29%3A%0A++print%28%22counter+is%22%2C+counter%29&cumulative=false&heapPrimitives=false&drawParentPointers=false&textReferences=false&showOnlyOutputs=false&py=3&curInstr=0&resizeContainer=true&highlightLines&width=400&rightStdout=1'><\/iframe><\/p>\n<p>Og\u00f3lna struktura numerycznej p\u0119tli <code>for<\/code><\/p>\n<pre>dla \u00abvariableName\u00bb w zakresie (\u00abstartValue\u00bb, \u00abtailValue\u00bb):\r\n  \u00abwciety blok polece\u0144, nazywamy\"cia\u0142em\" p\u0119tli\u00bb<\/pre>Jak zwykle, blok cia\u0142a mo\u017ce sk\u0142ada\u0107 si\u0119 z wielu linii, a wszystkie te linie maj\u0105 mie\u0107 wci\u0119cie tej samej wielko\u015bci. Najpierw cia\u0142o p\u0119tli jest wykonywane ze zmienn\u0105 <code>variableName<\/code> ustawion\u0105 na warto\u015b\u0107 <code>startValue<\/code>. Nast\u0119pnie powtarzane jest ze zmienn\u0105 <code>variableName<\/code> ustawion\u0105 na warto\u015b\u0107 <code>startValue+1<\/code>, a nast\u0119pnie z warto\u015bci\u0105 <code>startValue+2<\/code> itd. To trwa a\u017c <code>variableName<\/code> przyjmie warto\u015b\u0107 <code>tailValue-1<\/code> i wtedy p\u0119tla zostanie zatrzymana.<\/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> P\u0119tla ko\u0144czy si\u0119 dla zmiennej <code>tailValue-1<\/code>, a nie <code>tailValue<\/code>!<form class=\"pbform\" action=\"#\" id=\"pbform2\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox2'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode2' id='usercode2'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nfor i in range(1, 3):\n print(i)             # 3 nie jest drukowane!<\/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=\"87d7b56190c00f4f7d0d6c3803ae5a57\"\/>\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 <\/span><\/td><\/table><\/p>\n<p>Oto przyk\u0142ad p\u0119tli <code>for<\/code> wewn\u0105trz innej p\u0119tli <code>for<\/code>.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform3\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox3'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Ten kod drukuje kwadrat 5 \u00d7 5 sk\u0142adaj\u0105cy si\u0119 z jedynek.<br\/> <strong>Uwaga<\/strong>: gdy pomno\u017cymy liczb\u0119 <code>X<\/code> przez dziesi\u0119\u0107 i dodamy <code>1<\/code>, dodajemy cyfr\u0119 <code>1<\/code> na ko\u0144cu <code>X<\/code>. Na przyk\u0142ad (1867 * 10) + 1 = 18671.<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 136px;'><textarea wrap='off' name='usercode3' id='usercode3'  cols=10 rows=5 readonly='readonly'  style = 'height : 136px;'  class='pyboxCode RO'>\nfor i in range(0, 5):\n  X = 0\n  for j in range(0, 5):\n    X = (X*10)+1\n  print(X)<\/textarea><\/div>\n<div id='pbhistory3' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit3' value=' '\/><\/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><\/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=\"c22447252b471c197803c7c39c6ccadb\"\/>\n<div id='pbresults3' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit3\").value = \"Run program\";document.getElementById(\"inputInUse3\").value = \"N\";<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform4\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox4'>\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'>Jeden tr\u00f3jk\u0105t<\/span><\/div> Zmodyfikuj poprzedni program na dwa sposoby. Najpierw zamiast kwadratu, wydrukuj tr\u00f3jk\u0105t w kszta\u0142cie: \u25e4. Potem, zamiast zawsze generowa\u0107 5 wierszy, spowoduj, aby wydruk przyjmowa\u0142 rozmiar podany w <code>input()<\/code>. Na przyk\u0142ad, je\u015bli wej\u015bcie wynosi <code>3<\/code>, to wyj\u015bcie powinno by\u0107: <\/p>\n<pre>111<br\/>11<br\/>1<\/pre> <a class=\"hintlink\"  id=\"hintlink5\">Kliknij, aby uzyska\u0107 wskaz\u00f3wk\u0119.<\/a>\u00a0<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='usercode4' id='usercode4'  cols=10 rows=20   class='pyboxCode RW'>\nn=int(input())\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory4' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput4\">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<input type='hidden' id='defaultCode4' value='n=int(input())\\n'><\/input>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit4' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch4\" value=\"Input Switch\" onclick=\"pbInputSwitch(4,'N')\" ><\/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><select id='pbSelect4' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(4,'7c.triangle')\" >History<\/option>\n<option name='default' data-pbonclick=\"pbSetText(4,descape($('#defaultCode4').val()))\" >Reset code to default<\/option>\n<option name='help' data-pbonclick=\"helpClick(4);\" >Help<\/option>\n<\/select><\/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=\"b0aab0384aa64a9dd282d06fd5747043\"\/>\n<div id='pbresults4' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(4);});pbInputSwitch(4,\"N\");<\/script>\n<\/p>\n<h2>Instrukcje <code>break<\/code> i <code>continue<\/code><\/h2>\n<p>Instrukcja <code>break<\/code> jest jak wyj\u015bcie awaryjne z p\u0119tli <code>while<\/code> lub <code>for<\/code>: <code>break<\/code> powoduje natychmiastowy skok do polece\u0144, kt\u00f3re znajduj\u0105 si\u0119 po cz\u0119\u015bci z cia\u0142em p\u0119tli. Oto przyk\u0142ad przy u\u017cycia <code>break<\/code>: odczytuje wszystkie linie wej\u015bciowe, dop\u00f3ki nie odczyta <code>\"END\"<\/code>.<\/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>Wszystkie linie wej\u015bcia w p\u0119tli<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 188px;'><textarea wrap='off' name='usercode6' id='usercode6'  cols=10 rows=7 readonly='readonly'  style = 'height : 188px;'  class='pyboxCode RO'>\ncounter = 0\nwhile True:\n  lineIn = input()\n  if lineIn == 'END':\n    break\n  counter = counter+1\n  print('line', counter, '=', lineIn)<\/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=\"81a9e3510f5e28d6521c90a9167dff6a\"\/>\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>Polecenie <code>continue<\/code> pozwala pomin\u0105\u0107 reszt\u0119 p\u0119tli, a nast\u0119pnie, powt\u00f3rzy\u0107 instrukcje cia\u0142a w kolejnej rundzie (zazwyczaj nazywamy to nast\u0119pn\u0105 \"iteracj\u0105\").<\/p>\n<p><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><div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 110px;'><textarea wrap='off' name='usercode7' id='usercode7'  cols=10 rows=4 readonly='readonly'  style = 'height : 110px;'  class='pyboxCode RO'>\nfor n in range(10, 16):  \n  if (n == 13):  # pech\n    continue     # wiec, pomijamy to\n  print(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,'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=\"1909433a70e6aa8836aa164e9fa8fc08\"\/>\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<\/p>\n<p>Oto zwizualizowany przyk\u0142ad, kt\u00f3ry \u0142\u0105czy <code>break<\/code> and <code>continue<\/code>. Czy mo\u017cesz przewidzie\u0107, co wyjdzie?<\/p>\n<p><iframe width='100%' height='480' frameborder='0' scrolling='no' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/OnlinePythonTutor3-cemc\/iframe-embed.html#code=for+i+in+range%281%2C+16%29%3A%0A++if+%28i+%3D%3D+4%29%3A%0A++++continue%0A++if+%28i+%3D%3D+9%29%3A%0A++++break%0A++print%28i%29%0Aprint%28%27Done%27%29&cumulative=false&heapPrimitives=false&drawParentPointers=false&textReferences=false&showOnlyOutputs=false&py=3&curInstr=0&resizeContainer=true&highlightLines&width=400&rightStdout=1'><\/iframe><\/p>\n<h2>\u0106wiczenia<\/h2>\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'>Spis Kwadrat\u00f3w<\/span><\/div>Kwadraty liczb s\u0105 liczbami ca\u0142kowitymi postaci K \u00d7 K, np. 9 jest kwadratem liczby 3, poniewa\u017c 3 \u00d7 3 = 9. Napisz program, kt\u00f3ry na wej\u015bciu odczytuje liczb\u0119 ca\u0142kowit\u0105 <em>n<\/em> a na wyj\u015bciu wy\u015bwietla rosn\u0105co wszystkie dodatnie kwadraty liczb mniejsze ni\u017c <em>n<\/em>; ka\u017cda liczba w jednej linii. Na przyk\u0142ad, je\u015bli na wej\u015bciu b\u0119dzie 16, wtedy poprawne wyj\u015bcie to: <\/p>\n<pre>1<br\/>4<br\/>9<\/pre> <a class=\"hintlink\"  id=\"hintlink9\">Wskaz\u00f3wka<\/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'>\nn=int(input())\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory8' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput8\">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<input type='hidden' id='defaultCode8' value='n=int(input())\\n'><\/input>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit8' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch8\" value=\"Input Switch\" onclick=\"pbInputSwitch(8,'N')\" ><\/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><select id='pbSelect8' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(8,'7c.squares')\" >History<\/option>\n<option name='default' data-pbonclick=\"pbSetText(8,descape($('#defaultCode8').val()))\" >Reset code to default<\/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=\"9fbef582917e2224a38af7681ec6a50e\"\/>\n<div id='pbresults8' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(8);});pbInputSwitch(8,\"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'>Pomijanie<\/span><\/div>Rozszerzmy przyk\u0142ad \"Wszystkie lnie wej\u015bcia w p\u0119tli\" (ju\u017c dla ciebie skopiowali\u015bmy) dodaj\u0105c now\u0105 funkcjonalno\u015b\u0107: ka\u017cda linia r\u00f3wna <code>SKIP<\/code> nie powinna by\u0107 drukowana i nie powinna powodowa\u0107 zwi\u0119kszania licznika. Uruchom program, aby zobaczy\u0107 przyk\u0142ad.<a class=\"hintlink\"  id=\"hintlink11\">Wskaz\u00f3wka<\/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'>\ncounter = 0\nwhile True:\n  lineIn = input()\n  if lineIn=='END':\n    break\n  counter = counter+1\n  print('line', counter, '=', lineIn)\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<input type='hidden' id='defaultCode10' value='counter = 0\\nwhile True:\\n  lineIn = input()\\n  if lineIn==\\u0027END\\u0027:\\n    break\\n  counter = counter+1\\n  print(\\u0027line\\u0027, counter, \\u0027=\\u0027, lineIn)\\n'><\/input>\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,'7c.skip')\" >History<\/option>\n<option name='default' data-pbonclick=\"pbSetText(10,descape($('#defaultCode10').val()))\" >Reset code to default<\/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=\"a9afcf6a8224560c17bb0a89f64c042e\"\/>\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><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'>Znajdowanie czynnik\u00f3w<\/span><\/div>   Je\u015bli <em>a<\/em> \u00d7 <em>b<\/em> = <em>n<\/em>, to <em>a<\/em> \u00d7 <em>b<\/em> nazywamy <strong>faktoryzacj\u0105<\/strong> <em>n<\/em> (rozk\u0142adem na czynniki). W tym \u0107wiczeniu napiszesz program, kt\u00f3ry na wej\u015bciu pobiera dodatni\u0105 liczb\u0119 ca\u0142kowit\u0105 <em>n<\/em>, a na wyj\u015bciu podaje rozk\u0142ad na czynniki liczby <em>n<\/em>; zadanie nale\u017cy wykona\u0107 zgodnie z poni\u017cszym formatowaniem dla <em>n<\/em> = 10. <\/p>\n<pre>1 times 10 equals 10<br\/>2 times 5 equals 10<br\/>5 times 2 equals 10<br\/>10 times 1 equals 10<\/pre> <a class=\"hintlink\"  id=\"hintlink13\">Wskaz\u00f3wka<\/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='usercode12' id='usercode12'  cols=10 rows=20   class='pyboxCode RW'>\nn = int(input())\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<input type='hidden' id='defaultCode12' value='n = int(input())\\n'><\/input>\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,'7c.factorize')\" >History<\/option>\n<option name='default' data-pbonclick=\"pbSetText(12,descape($('#defaultCode12').val()))\" >Reset code to default<\/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=\"7f7da291396221b038c5380b4a7b5743\"\/>\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","protected":false},"excerpt":{"rendered":"<p>Lekcja 7 sk\u0142ada si\u0119 z trzech cz\u0119\u015bci A, B, C, kt\u00f3re mo\u017cna wykona\u0107 w dowolnej kolejno\u015bci. Do tej pory uczyli\u015bmy si\u0119 podstawowych polece\u0144 programowania (n.p. przypisywania warto\u015bci, drukowania) oraz sposobu sprawdzania, kt\u00f3re instrukcje s\u0105 wykonywane przy u\u017cyciu instrukcji if. W &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/7c-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-9960","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9960","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=9960"}],"version-history":[{"count":23,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9960\/revisions"}],"predecessor-version":[{"id":10181,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9960\/revisions\/10181"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=9960"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}