<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=TI%2FP%C4%99tle</id>
	<title>TI/Pętle - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=TI%2FP%C4%99tle"/>
	<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/P%C4%99tle&amp;action=history"/>
	<updated>2026-04-22T17:24:00Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/P%C4%99tle&amp;diff=5447&amp;oldid=prev</id>
		<title>RobertJB: /* Przykład */</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/P%C4%99tle&amp;diff=5447&amp;oldid=prev"/>
		<updated>2016-06-28T14:38:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Przykład&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Wersja z 14:38, 28 cze 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l29&quot; &gt;Linia 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;;Rezultat&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;;Rezultat&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang='&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;shell_example&lt;/del&gt;'&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang='&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;bash&lt;/ins&gt;'&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$ python while.py&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$ python while.py&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wpisz liczbę całkowitą: 50&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wpisz liczbę całkowitą: 50&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l55&quot; &gt;Linia 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 55:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;jest prawdziwy, pętla uruchamia się ponownie, w przeciwnym wypadku&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;jest prawdziwy, pętla uruchamia się ponownie, w przeciwnym wypadku&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;idziemy dalej.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;idziemy dalej.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Wyrażenia break i continue===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Wyrażenia break i continue===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>RobertJB</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/P%C4%99tle&amp;diff=1572&amp;oldid=prev</id>
		<title>Jarekz: /* Przykład */</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/P%C4%99tle&amp;diff=1572&amp;oldid=prev"/>
		<updated>2015-05-22T19:37:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Przykład&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Wersja z 19:37, 22 maj 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l113&quot; &gt;Linia 113:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 113:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wyrażenia &amp;lt;tt&amp;gt;break&amp;lt;/tt&amp;gt; i &amp;lt;tt&amp;gt;continue&amp;lt;/tt&amp;gt; są uniwersalne &amp;amp;mdash; mogą zostać użyte zarówno w pętli &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; jak i w pętli &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt;, opisanej poniżej.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wyrażenia &amp;lt;tt&amp;gt;break&amp;lt;/tt&amp;gt; i &amp;lt;tt&amp;gt;continue&amp;lt;/tt&amp;gt; są uniwersalne &amp;amp;mdash; mogą zostać użyte zarówno w pętli &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; jak i w pętli &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt;, opisanej poniżej.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Przykład: liczenie słów ==== &amp;lt;source lang = python&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Przykład: liczenie słów ====  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang = python&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/usr/bin/env python&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/usr/bin/env python&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# -*- coding: utf-8 -*-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# -*- coding: utf-8 -*-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l147&quot; &gt;Linia 147:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 148:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;poniżej) Aby poznać długość napisu używamy wbudowanej funkcji &amp;lt;tt&amp;gt;len&amp;lt;/tt&amp;gt;. Jeżeli jest on krótszy niż 3 znaki, wypisujemy komunikat &amp;lt;tt&amp;gt;Za krótkie.&amp;lt;/tt&amp;gt;, następnie wyrażenie &amp;lt;tt&amp;gt;continue&amp;lt;/tt&amp;gt; powoduje pominięcie resztę poleceń w bloku pętli.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;poniżej) Aby poznać długość napisu używamy wbudowanej funkcji &amp;lt;tt&amp;gt;len&amp;lt;/tt&amp;gt;. Jeżeli jest on krótszy niż 3 znaki, wypisujemy komunikat &amp;lt;tt&amp;gt;Za krótkie.&amp;lt;/tt&amp;gt;, następnie wyrażenie &amp;lt;tt&amp;gt;continue&amp;lt;/tt&amp;gt; powoduje pominięcie resztę poleceń w bloku pętli.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Jeżeli jest on nie krótszy niż 3 znaki, wszystkie pozostałe linie w bloku pętli zostają wykonane.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Jeżeli jest on nie krótszy niż 3 znaki, wszystkie pozostałe linie w bloku pętli zostają wykonane.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Zadanie: sumator liczb dodatnich wersja 1====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Zadanie: sumator liczb dodatnich wersja 1====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jarekz</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/P%C4%99tle&amp;diff=1571&amp;oldid=prev</id>
		<title>Jarekz: Utworzono nową stronę &quot; ==Pętla while== Wyrażenie   &lt;tt&gt;while ''warunek'':   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;''blok''&lt;/tt&gt; służy do konstrukcji bloku poleceń pętli wykonywanej warunkowo. Jak w p...&quot;</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/P%C4%99tle&amp;diff=1571&amp;oldid=prev"/>
		<updated>2015-05-22T19:36:29Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot; ==Pętla while== Wyrażenie   &amp;lt;tt&amp;gt;while &amp;#039;&amp;#039;warunek&amp;#039;&amp;#039;:       &amp;#039;&amp;#039;blok&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; służy do konstrukcji bloku poleceń pętli wykonywanej warunkowo. Jak w p...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Pętla while==&lt;br /&gt;
Wyrażenie &lt;br /&gt;
 &amp;lt;tt&amp;gt;while ''warunek'': &lt;br /&gt;
 &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;''blok''&amp;lt;/tt&amp;gt;&lt;br /&gt;
służy do konstrukcji bloku poleceń pętli wykonywanej warunkowo. Jak w przypadku każdego bloku w Pythonie, do bloku po &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; zaliczają się te linijki, które są wyrównane do tej samej kolumny (mają takie samo wcięcie). Python najpierw sprawdza czy warunek jest spełniony, i jeśli tak, to wykonuje wszystkie wyrażenia zawarte w bloku. Następnie ponownie sprawdza warunek, i jeśli nadal jest spełniony, to ponownie wykonuje wszystkie wyrażenia zawarte w bloku. Pętla jest wykonywana tak długo, jak długo warunek jest prawdziwy.&lt;br /&gt;
&lt;br /&gt;
====Przykład====&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
liczba = 23&lt;br /&gt;
dzialaj = True&lt;br /&gt;
while dzialaj:&lt;br /&gt;
    strzal = int(raw_input('Wpisz liczbę całkowitą: '))&lt;br /&gt;
    if strzal == liczba:&lt;br /&gt;
        print 'Gratulacje, zgadłeś ją!'&lt;br /&gt;
        print '(Ale nic nie wygrałeś.)'&lt;br /&gt;
        dzialaj = False  # To sprawia, że warunek przestaje być&lt;br /&gt;
	                 # spełniony&lt;br /&gt;
    elif strzal &amp;lt; liczba:&lt;br /&gt;
        print 'Nie, szukana liczba jest większa od podanej.'&lt;br /&gt;
    else:&lt;br /&gt;
        print 'Nie, szukana liczba jest mniejsza od podanej.'&lt;br /&gt;
print 'Koniec programu.'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rezultat&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang='shell_example'&amp;gt;&lt;br /&gt;
$ python while.py&lt;br /&gt;
Wpisz liczbę całkowitą: 50&lt;br /&gt;
Nie, ta liczba jest mniejsza od szukanej. &lt;br /&gt;
Wpisz liczbę całkowitą: 22&lt;br /&gt;
Nie, ta liczba jest większa od szukanej.&lt;br /&gt;
Wpisz liczbę całkowitą: 23&lt;br /&gt;
Gratulacje, zgadłeś ją!&lt;br /&gt;
(Ale nic nie wygrałeś.)&lt;br /&gt;
&lt;br /&gt;
Koniec programu.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Jak to działa?&lt;br /&gt;
W tym programie gramy w zgadywankę, dopóki użytkownik nie poda prawidłowej odpowiedzi.&lt;br /&gt;
&lt;br /&gt;
Nie ma konieczności ponownego uruchamiania programu po każdym strzale (por. [[../Wykonanie warunkowe|poprzedni rodział]]).&lt;br /&gt;
Przesunęliśmy wyrażenia &amp;lt;tt&amp;gt;raw_input&amp;lt;/tt&amp;gt; oraz &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt; do&lt;br /&gt;
wnętrza pętli &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; i ustawiliśmy zmienną &amp;lt;tt&amp;gt;dzialaj&amp;lt;/tt&amp;gt;&lt;br /&gt;
na wartość &amp;lt;tt&amp;gt;True&amp;lt;/tt&amp;gt; przed pętlą &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt;. Najpierw&lt;br /&gt;
sprawdzamy wartość zmiennej &amp;lt;tt&amp;gt;dzialaj&amp;lt;/tt&amp;gt;. Jeśli jest to&lt;br /&gt;
&amp;lt;tt&amp;gt;True&amp;lt;/tt&amp;gt; przystępujemy do wykonywania&lt;br /&gt;
bloku &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt;. Po zakończeniu pracy tego bloku, warunek jest sprawdzany&lt;br /&gt;
ponownie (w tym wypadku wartość zmiennej &amp;lt;tt&amp;gt;dzialaj&amp;lt;/tt&amp;gt;). Jeżeli&lt;br /&gt;
jest prawdziwy, pętla uruchamia się ponownie, w przeciwnym wypadku&lt;br /&gt;
idziemy dalej.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Wyrażenia break i continue===&lt;br /&gt;
Standardowe wykonanie pętli &amp;amp;mdash; warunek spełniony, wykonujemy cały blok, warunek spełniony, wykonujemy cały blok, ...,  warunek niespełniony, koniec &amp;amp;mdash; nie zawsze jest pożądane. Pętlę można zarówno po prostu przerwać, jak też pominąć pozostałą do wykonania resztę bloku i rozpocząć następny obieg pętli.&lt;br /&gt;
&lt;br /&gt;
[[Grafika:Pętla while.svg|200px|right]]&lt;br /&gt;
&lt;br /&gt;
====Wyrażenie break====&lt;br /&gt;
Wyrażenia &amp;lt;tt&amp;gt;break&amp;lt;/tt&amp;gt; używamy, aby ''wyrwać się'' z pętli, czyli zakończyć jej wykonywanie natychmiast. Przykład powyżej można w sposób równoważny, ale krótszy i czytelniejszy, zapisać z użyciem &amp;lt;tt&amp;gt;break&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Przykład====&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
liczba = 23&lt;br /&gt;
while True:&lt;br /&gt;
    strzal = int(raw_input('Wpisz liczbę całkowitą: '))&lt;br /&gt;
    if strzal == liczba:&lt;br /&gt;
        print 'Gratulacje, zgadłeś ją!\n(Ale nic nie wygrałeś.)'&lt;br /&gt;
	break&lt;br /&gt;
    elif strzal &amp;lt; liczba:&lt;br /&gt;
        print 'Nie, szukana liczba jest większa od podanej.'&lt;br /&gt;
    else:&lt;br /&gt;
        print 'Nie, szukana liczba jest mniejsza od podanej.'&lt;br /&gt;
&lt;br /&gt;
print '\nKoniec programu.'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Wyrażenie continue====&lt;br /&gt;
Wyrażenia &amp;lt;tt&amp;gt;continue&amp;lt;/tt&amp;gt; używamy, aby nakazać Pythonowi ominąć pozostałe wyrażenia w bloku pętli i ''kontynuować'' od następnej iteracji tej pętli.&lt;br /&gt;
&lt;br /&gt;
Jeszcze raz ten sam program, tym razem z wykorzystaniem &amp;lt;tt&amp;gt;continue&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
====Przykład====&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
# nazwa pliku: zgadywanka.py&lt;br /&gt;
liczba = 23&lt;br /&gt;
while True:&lt;br /&gt;
    strzal = int(raw_input('Wpisz liczbę całkowitą: '))&lt;br /&gt;
    if strzal &amp;gt; liczba:&lt;br /&gt;
        print 'Nie, ta liczba jest większa od szukanej.'&lt;br /&gt;
        continue&lt;br /&gt;
    if strzal &amp;lt; liczba:&lt;br /&gt;
        print 'Nie, ta liczba jest mniejsza od szukanej.'&lt;br /&gt;
        continue&lt;br /&gt;
    print 'Gratulacje, w końcu ją zgadłeś!'&lt;br /&gt;
    print '(Ale znowu nic nie wygrałeś.)'&lt;br /&gt;
    break&lt;br /&gt;
print '\nKoniec programu.'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wyrażenia &amp;lt;tt&amp;gt;break&amp;lt;/tt&amp;gt; i &amp;lt;tt&amp;gt;continue&amp;lt;/tt&amp;gt; są uniwersalne &amp;amp;mdash; mogą zostać użyte zarówno w pętli &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; jak i w pętli &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt;, opisanej poniżej.&lt;br /&gt;
&lt;br /&gt;
====Przykład: liczenie słów ==== &amp;lt;source lang = python&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
# Nazwa pliku: continue.py&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    s = raw_input('Wpisz coś: ')&lt;br /&gt;
    if s == 'quit':&lt;br /&gt;
        break&lt;br /&gt;
    if len(s) &amp;lt; 3:&lt;br /&gt;
        print 'Za krótkie.'&lt;br /&gt;
        continue&lt;br /&gt;
    print 'Wpis jest wystarczającej długości.'&lt;br /&gt;
    print 'Liczba słów wpisu:', len(s.split()), '.'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rezultat&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ python continue.py&lt;br /&gt;
Wpisz coś: a&lt;br /&gt;
Za krótkie.&lt;br /&gt;
Wpisz coś: 12&lt;br /&gt;
Za krótkie.&lt;br /&gt;
Wpisz coś: abc cde&lt;br /&gt;
Wpis jest wystarczającej długości.&lt;br /&gt;
Liczba słów wpisu: 2.&lt;br /&gt;
Wpisz coś: quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Jak to działa?&lt;br /&gt;
W tym programie prosimy użytkownika o napis, ale zajmujemy się nim jedynie, gdy ma przynajmniej 3 znaki długości. (Zob. też&lt;br /&gt;
[[#Jaką długość ma napis zawierający polskie litery?]]&lt;br /&gt;
poniżej) Aby poznać długość napisu używamy wbudowanej funkcji &amp;lt;tt&amp;gt;len&amp;lt;/tt&amp;gt;. Jeżeli jest on krótszy niż 3 znaki, wypisujemy komunikat &amp;lt;tt&amp;gt;Za krótkie.&amp;lt;/tt&amp;gt;, następnie wyrażenie &amp;lt;tt&amp;gt;continue&amp;lt;/tt&amp;gt; powoduje pominięcie resztę poleceń w bloku pętli.&lt;br /&gt;
Jeżeli jest on nie krótszy niż 3 znaki, wszystkie pozostałe linie w bloku pętli zostają wykonane.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie: sumator liczb dodatnich wersja 1====&lt;br /&gt;
Wymyśl algorytm, a następnie napisz program, który sumuje liczby dodatnie podawane przez użytkownika.&lt;br /&gt;
* Niech program prosi o podawanie kolejnych liczb dopóki użytkownik nie wprowadzi liczby ujemnej.&lt;br /&gt;
* Niech po każdej podanej liczbie program wypisuje aktualną wartość sumy.&lt;br /&gt;
* Na koniec niech program wypisuje  całkowitą uzyskaną sumę.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie: sumator liczb dodatnich z licznikiem====&lt;br /&gt;
Zmodyfikuj poprzedni algorytm tak, aby zliczał on ile liczb użytkownik wprowadził.&lt;br /&gt;
Zatem chcemy mieć algorytm, który sumuje liczby dodatnie podawane przez użytkownika i zapamiętuje ile liczb zostało wprowadzonych.&lt;br /&gt;
* Niech program prosi o podawanie kolejnych liczb dopóki użytkownik nie wprowadzi liczby ujemnej. &lt;br /&gt;
* Niech po każdej podanej liczbie program wypisuje aktualną wartość sumy i informację ile liczb zostało zsumowanych.&lt;br /&gt;
* Na koniec niech program wypisuje uzyskaną sumę i ilość wprowadzonych liczb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie: średnia liczb dodatnich====&lt;br /&gt;
Zmodyfikuj poprzedni algorytm tak, że pobiera on od użytkownika ciąg liczb, i wypisuje długość i średnią tego ciągu. Przyjmij, że użytkownik wpisał wszystkie liczby wtedy, kiedy na pytanie o następną liczbę, poda liczbę ujemną.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie: średnia liczb ====&lt;br /&gt;
Zmodyfikuj poprzedni algorytm tak, że pobiera on od użytkownika ciąg liczb, i wypisuje długość i średnią tego ciągu. Przyjmij, że użytkownik wpisał wszystkie liczby wtedy, kiedy na pytanie o następną liczbę po prostu naciśnie Enter, czyli wpisze pustą linijkę.&lt;br /&gt;
&lt;br /&gt;
Wskazówka: &lt;br /&gt;
Fragment algorytmu potrzebny do obsługi wczytywania:&lt;br /&gt;
# wczytaj to co wprowadza użytkownik funkcją raw_input, &lt;br /&gt;
# następnie sprawdź czy to nie jest pusty napis. &lt;br /&gt;
#* Jeśli napis jest pusty to koniec,&lt;br /&gt;
#* a jeśli nie pusty to dokonaj konwersji na liczbę i kontynuuj program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sekwencje i pętla for==&lt;br /&gt;
Przedstawiona powyżej pętla &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; jest pierwowzorem pętli &amp;amp;mdash; na dodatek wygląda i działa niemalże tak samo w różnych językach programowania. Niemniej, na co dzień używa się raczej innej pętli, bardziej zwięzłej i wygodniejszej w użyciu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
  for ''zmienna'' in ''sekwencja'':&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;''blok''&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Pętla &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; służy do wykonania tego samego ''bloku'' operacji dla każdego elementu z ''sekwencji'''''.&lt;br /&gt;
&amp;lt;!--Mówimy, że pętla &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; ''iteruje'' po sekwencji obiektów.--&amp;gt;&lt;br /&gt;
Oznacza to, że liczba wykonań bloku jest równa długości sekwencji.&lt;br /&gt;
''Zmienna'' przyjmuje po kolei wartości wszystkich elementów sekwencji. Jednokrotne wykonanie bloku pętli dla aktualnej wartości ''zmiennej'' nazywamy '''iteracją'''. W żargonie mówimy, że pętla &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; ''iteruje'' po sekwencji obiektów.&lt;br /&gt;
&lt;br /&gt;
Najprostszym przykładem jest wykonanie tej samej operacji dla sekwencji liczb.&lt;br /&gt;
W pythonie najprostszym przykładem sekwencji jest lista liczb. Można ją wytworzyć wpisując &amp;amp;bdquo;ręcznie&amp;amp;rdquo; liczby rozdzielone przecinkami w nawiasie kwadratowym. W powłoce pythona proszę wypróbować następujący kod:&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
a = [2, 3, 4, 5]&lt;br /&gt;
print 'sekwencja a:', a&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wygodniejszym sposobem wygenerowania potrzebnej sekwencji liczb jest funkcja &amp;lt;tt&amp;gt; range(a,b)&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Proszę wypróbować:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
a = range(2,6)&lt;br /&gt;
print 'sekwencja a:', a&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Przykład: wypisanie zawartości sekwencji element po elemencie====&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
# cała sekwencja na raz&lt;br /&gt;
print 'sekwencja:', [2, 3, 4, 5]&lt;br /&gt;
&lt;br /&gt;
# sekwencja element po elemencie&lt;br /&gt;
for i in [2, 3, 4, 5]:&lt;br /&gt;
    print 'element sekwencji:', i&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rezultat&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang='shell_example'&amp;gt;&lt;br /&gt;
$ python for.py&lt;br /&gt;
sekwencja: [2, 3, 4, 5]&lt;br /&gt;
element sekwencji: 2&lt;br /&gt;
element sekwencji: 3&lt;br /&gt;
element sekwencji: 4&lt;br /&gt;
element sekwencji: 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Jak to działa?&lt;br /&gt;
W tym programie wypisujemy listę liczb na dwa sposoby, za pierwszym razem od razu w całości, a za drugim razem element po elemencie.&lt;br /&gt;
&lt;br /&gt;
Pętla &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; iteruje po liście w ten sposób,&lt;br /&gt;
że przypisuje zmiennej &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; kolejny element listy,&lt;br /&gt;
a następnie wykonuje blok wyrażeń.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie====&lt;br /&gt;
Napisz dwa programy, które wypisują liczby całkowite od 1 do 10. W pierwszym wykorzystaj pętlę &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt;, a w drugim pętlę &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie====&lt;br /&gt;
Napisz dwa programy, które obliczają sumę liczb całkowitych od 1 do 10. W pierwszym wykorzystaj pętlę &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt;, a w drugim pętlę &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie====&lt;br /&gt;
Napisz program który pyta użytkownika o liczbę, a następnie oblicza silnię tej liczby. Wykorzystaj pętlę &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie====&lt;br /&gt;
Oblicz sumę sześcianów liczb naturalnych od 0 do 100.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie====&lt;br /&gt;
Napisz program który sprawdzi, sześciany ilu liczb naturalnych (od 0) trzeba zsumować, by uzyskać liczbę większą niż &amp;lt;math&amp;gt;10^6&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wiele różnych typów sekwencji ===&lt;br /&gt;
Cechą wspólną wielu różnych kolekcji obiektów jest możliwość ponumerowania w określony sposób elementów i ''iteracji'' po nich, czyli dostępu do każdego z nich po kolei. Dzięki temu możemy np. iterować po sekwencji znaków, albo po sekwencji linii w pliku, albo po sekwencji liczb. &lt;br /&gt;
&lt;br /&gt;
Najprostszy przykład sekwencji to lista wpisana bezpośrednio w tekście programu.&lt;br /&gt;
&lt;br /&gt;
Drugi przykład, to ciąg znaków.&lt;br /&gt;
Naturalnie myślimy o napisie jako o sekwencji znaków/liter.&lt;br /&gt;
&lt;br /&gt;
Trzeci przykład, to funkcja &amp;lt;tt&amp;gt;range(a, b)&amp;lt;/tt&amp;gt; generująca sekwencję liczb od ''a'' do ''b''.&lt;br /&gt;
&lt;br /&gt;
Sekwencje uzyskujemy też jako wynik wywołania wielu innych funkcji.&lt;br /&gt;
&lt;br /&gt;
==== Funkcje range i xrange ====&lt;br /&gt;
Sekwencję liczb generujemy używając wbudowanej funkcji &amp;lt;tt&amp;gt;range&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Podajemy dwie liczby, a funkcja &amp;lt;tt&amp;gt;range&amp;lt;/tt&amp;gt; zwraca nam sekwencję liczb począwszy od pierwszej, a kończąc przed drugą z nich.&lt;br /&gt;
Na przykład &amp;lt;tt&amp;gt;range(2,6)&amp;lt;/tt&amp;gt; tworzy sekwencję &amp;lt;tt&amp;gt;[2,3,4,5]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Pierwszy argument &amp;lt;tt&amp;gt;range&amp;lt;/tt&amp;gt; jest opcjonalny, jeśli go się nie poda, to sekwencja zaczyna się od 0. Na przykład wywołanie &amp;lt;tt&amp;gt;range(N)&amp;lt;/tt&amp;gt; zwraca sekwencję ''N'' elementów: od 0 do ''N''&amp;amp;minus;1.&lt;br /&gt;
&lt;br /&gt;
Domyślnie, &amp;lt;tt&amp;gt;range&amp;lt;/tt&amp;gt; wytwarza sekwencję liczb zwiększających się co 1. Trzeci, opcjonalny argument &amp;lt;tt&amp;gt;range&amp;lt;/tt&amp;gt; jest wartością o jaką będą zwiększane kolejne liczby w sekwencji. Na przykład &amp;lt;tt&amp;gt;range(1,5,2)&amp;lt;/tt&amp;gt; zwróci &amp;lt;tt&amp;gt;[1,3]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funkcja &amp;lt;tt&amp;gt;range&amp;lt;/tt&amp;gt; tworzy od razu całą wymaganą listę. Jeśli lista jest długa, jest to niepotrzebny narzut, bo możemy przerwać wykonywanie pętli przedwcześnie, nie używając wszystkich elementów. Dlatego w wyrażeniu &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; należy używać zamiennika &amp;lt;tt&amp;gt;xrange&amp;lt;/tt&amp;gt;, który zachowuje się tak samo, ale generuje swoje elementy w miarę potrzeby w trakcie wykonywania pętli.&lt;br /&gt;
&lt;br /&gt;
====Przykład====&lt;br /&gt;
Potrzebujemy ciągu pierwszych 100 liczb parzystych. Piszemy&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
range(0, 2*100, 2)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Funkcja split ====&lt;br /&gt;
Metoda &amp;lt;tt&amp;gt;split&amp;lt;/tt&amp;gt; dzieli ciąg znaków na słowa — tj. zwraca listę ciągów znaków dzieląc w miejscach gdzie występują spacje.&lt;br /&gt;
&lt;br /&gt;
====Przykład====&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
# Plik slowa.py&lt;br /&gt;
for slowo in 'ala ma kota'.split():&lt;br /&gt;
    print slowo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rezultat&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ python slowa.py&lt;br /&gt;
ala&lt;br /&gt;
ma&lt;br /&gt;
kota&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Podsumowanie ===&lt;br /&gt;
Pętla &amp;lt;tt&amp;gt;for...in&amp;lt;/tt&amp;gt; działa dla każdej sekwencji. Tutaj mieliśmy sekwencje liczb, znaków lub napisów, ale tak naprawdę możemy użyć dowolnego rodzaju sekwencji z dowolnym rodzajem obiektów! Przyjrzymy się temu w następnych rozdziałach.&lt;br /&gt;
&lt;br /&gt;
{{Wyjaśnienie|title=Uwaga dla programujących w C/C++/Java/C#====&lt;br /&gt;
Pythonowa pętla &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; radykalnie różni się od pętli &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; w C/C++. Programujący w C# zauważą, że Pythonowa pętla &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; jest podobna do pętli &amp;lt;tt&amp;gt;foreach&amp;lt;/tt&amp;gt; w C#. Programujący w Java zauważą, ze jest podobna do pętli &amp;lt;tt&amp;gt;for(Object i : Iterable)&amp;lt;/tt&amp;gt; w Java 1.5.&lt;br /&gt;
W C/C++ pisze się &amp;lt;tt&amp;gt;for(int i = 0; i &amp;lt; 5; i++)&amp;lt;/tt&amp;gt;, zaś w Pythonie jedynie &amp;lt;tt&amp;gt;for i in range(0, 5)&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Blok else po pętli ==&lt;br /&gt;
Blok &amp;lt;tt&amp;gt;else&amp;lt;/tt&amp;gt; jest wywoływany gdy warunek pętli&lt;br /&gt;
&amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; przyjmuje wartość &amp;lt;tt&amp;gt;False&amp;lt;/tt&amp;gt; lub&lt;br /&gt;
gdy pętla for &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; przebiegnie całą sekwencję.&lt;br /&gt;
To może się&lt;br /&gt;
wydarzyć nawet za pierwszym razem, jeśli warunek jest od początku fałszywy albo sekwencja pusta.&lt;br /&gt;
Jeżeli istnieje sekcja &amp;lt;tt&amp;gt;else&amp;lt;/tt&amp;gt; dla pętli &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt;, jest ona zawsze uruchamiana, z wyjątkiem sytuacji, gdy wyjdziesz z pętli poleceniem [[#Wyrażenie break|break]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Przykład&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Chcemy sprawdzić co jest mniejsze: liczba 10 czy piąta w kolejności liczba podzielna przez 3?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
# Co jest mniejsze: 10 czy piąta w kolejności liczba podzielna przez 3?&lt;br /&gt;
# plik wyścig.py&lt;br /&gt;
&lt;br /&gt;
podzielnych = 0&lt;br /&gt;
i = 1&lt;br /&gt;
while i &amp;lt; 10:&lt;br /&gt;
    if i % 3 == 0:&lt;br /&gt;
         print i, &amp;quot;jest podzielna przez 3&amp;quot;&lt;br /&gt;
         podzielnych += 1&lt;br /&gt;
         if podzielnych == 5:&lt;br /&gt;
              print &amp;quot;piąta liczba podzielna przez 3 jest mniejsza&amp;quot;&lt;br /&gt;
              break&lt;br /&gt;
    i += 1&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;doszliśmy do 10&amp;quot;&lt;br /&gt;
    print &amp;quot;10 jest mniejsze&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rezultat&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang='shell_example'&amp;gt;&lt;br /&gt;
$ python wyścig.py&lt;br /&gt;
3 jest podzielna przez 3&lt;br /&gt;
6 jest podzielna przez 3&lt;br /&gt;
9 jest podzielna przez 3&lt;br /&gt;
doszliśmy do 10&lt;br /&gt;
10 jest mniejsze&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zauważ, że gdy wyjdziesz z pętli &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; albo &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; używając &amp;lt;tt&amp;gt;break&amp;lt;/tt&amp;gt;, blok &amp;lt;tt&amp;gt;else&amp;lt;/tt&amp;gt; '''nie''' zostanie wywołany.&lt;br /&gt;
&lt;br /&gt;
== Pętle i litery z polskimi znakami diakrytycznymi ==&lt;br /&gt;
Zobaczmy jeszcze jeden przykład, wydawałoby się niemalże trywialny, na wykorzystanie pętli &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt;...&lt;br /&gt;
====Przykład====&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
# Nazwa pliku: break.py&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    s = raw_input('Wpisz coś: ')&lt;br /&gt;
    if s == 'quit':&lt;br /&gt;
        break&lt;br /&gt;
    else:&lt;br /&gt;
	print 'Długość tego ciągu znaków to:', len(s)&lt;br /&gt;
print 'Koniec programu.'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rezultat&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang='shell_example'&amp;gt;&lt;br /&gt;
$ python break.py&lt;br /&gt;
Wpisz coś: Programming is fun&lt;br /&gt;
Długość tego ciągu znaków to: 18&lt;br /&gt;
Wpisz coś: When the work is done&lt;br /&gt;
Długość tego ciągu znaków to: 21&lt;br /&gt;
Wpisz coś: if you wanna make your work also fun:&lt;br /&gt;
Długość tego ciągu znaków to: 37&lt;br /&gt;
Wpisz coś:     use Python!&lt;br /&gt;
Długość tego ciągu znaków to: 15&lt;br /&gt;
Wpisz coś: quit&lt;br /&gt;
Koniec programu.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Jak to działa?&lt;br /&gt;
W tym programie wielokrotnie prosimy użytkownika o napisanie czegokolwiek i wypisujemy długość tego ciągu znaków na ekranie. Dodaliśmy specjalny warunek stopu poprzez sprawdzanie, czy użytkownik wpisał &amp;lt;tt&amp;gt;quit&amp;lt;/tt&amp;gt;. Jeżeli tak, zatrzymujemy pętlę poleceniem &amp;lt;tt&amp;gt;break&amp;lt;/tt&amp;gt; i wykonujemy końcową część programu.&lt;br /&gt;
&lt;br /&gt;
Długość ciągu znaków sprawdzamy wbudowaną funkcją &amp;lt;tt&amp;gt;len&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I czy jest w tym coś podchwytliwego? Spróbujmy jeszcze raz:&lt;br /&gt;
&amp;lt;source lang='shell_example'&amp;gt;&lt;br /&gt;
$ python break.py&lt;br /&gt;
Wpisz coś: pyton&lt;br /&gt;
Długość tego ciągu znaków to: 5&lt;br /&gt;
Wpisz coś: wąż&lt;br /&gt;
Długość tego ciągu znaków to: 5&lt;br /&gt;
#                       dlaczego akurat 5 a nie 3?&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Jaką długość ma napis zawierający polskie litery? ===&lt;br /&gt;
Jeśli zapytasz o długość ciągu znaków zawierającego polskie znaki diakrytyczne („ą”, „ć”, „ę”, „ł”, „ń”, „ó”, „ś”, „ź”, „ż” oraz „Ą”, i&amp;amp;nbsp;inne wielkie), uzyskana odpowiedź może różnić się od oczekiwań!&lt;br /&gt;
====Przykład====&lt;br /&gt;
&amp;lt;source lang='shell_example'&amp;gt;&lt;br /&gt;
$ python&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print len('aaa')&lt;br /&gt;
3&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print len('ąęó')&lt;br /&gt;
6                       #wynik może być różny w zależności od systemu: zazwyczaj 6 lub 3 lub 12&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aby wyjaśnić co się tutaj dzieje, trzeba by zacząć od podstaw, czyli stron kodowych i standardu Unicode. Temat jest ciekawy, ale by wyjaśnić powyższy wynik, wystarczy powiedzieć, że ciąg znaków &amp;lt;tt&amp;gt;'ąęó'&amp;lt;/tt&amp;gt; jest rozumiany przez Pythona jako ciąg znaków z&amp;amp;nbsp;bardzo ograniczonego zestawu ASCII. Jeśli używasz w miarę współczesnego systemu operacyjnego, to taka sekwencja znaków zostaje podana Pythonowi jako ciąg znaków ze znacznie szerszego zestawu Unicode. Znaki ASCII są zapisywanie po jednym na bajt, a że znaków Unicode jest znacznie więcej, to potrzeba na nie więcej miejsca. Ile dokładnie miejsca potrzeba na polskie znaki diakrytyczne zależy od systemu, ale najczęściej są to dwa bajty na każdy. Ostatecznie Python otrzymuje ciąg bajtów, które usiłuje interpretować jako jednobajtowe znaki ASCII. Rezultat jest taki, że otrzymujemy ilość bajtów zajmowanych przez ciąg znaków, a nie długość tego ciągu.&lt;br /&gt;
&lt;br /&gt;
Nie tylko zliczanie znaków działa źle, pętla &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt; też się gubi&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====Przykład====&lt;br /&gt;
&amp;lt;source lang='shell_example'&amp;gt;&lt;br /&gt;
$ python&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; for znak in 'ąęó':&lt;br /&gt;
...     print znak&lt;br /&gt;
...&lt;br /&gt;
�                # znak oznaczający 'zepsuty' znak&lt;br /&gt;
�&lt;br /&gt;
�&lt;br /&gt;
�&lt;br /&gt;
�&lt;br /&gt;
�&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aby zaradzić temu zamieszaniu (np. bo nie chcemy żeby program dawał inny wynik w zależności od systemu na którym jest wykonywany) mamy proste wyjście. Musimy poinformować Pythona, że dany ciąg znaków jest ciągiem znaków Unicode. W tym celu ciąg przed otwierającym cudzysłowem wstawiamy literkę 'u':&lt;br /&gt;
====Przykład====&lt;br /&gt;
&amp;lt;source lang='shell_example'&amp;gt;&lt;br /&gt;
$ python&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print len(u'aaa')&lt;br /&gt;
3&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print len(u'ąęó')&lt;br /&gt;
3                     # zgodnie z oczekiwaniem&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; for znak in u'ąęó':&lt;br /&gt;
...      print znak&lt;br /&gt;
...&lt;br /&gt;
ą&lt;br /&gt;
ę&lt;br /&gt;
ó&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Niestety takie rozwiązanie jest pracochłonne dla programisty, a na dodatek łatwo o pomyłkę, gdy gdzieś zapomnimy przedrostka. Nowe wersje Pythona (3.0 i późniejsze) rozwiązują ten problem prościej — ciągi znaków to domyślnie Unicode i nie ma w ogóle przedrostka 'u'.&lt;br /&gt;
&lt;br /&gt;
==Podsumowanie==&lt;br /&gt;
Zobaczyliśmy, jak używać trzech wyrażeń kontroli przepływu — &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;while&amp;lt;/tt&amp;gt; oraz &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt;, razem z powiazanymi z nimi poleceniami &amp;lt;tt&amp;gt;break&amp;lt;/tt&amp;gt; i &amp;lt;tt&amp;gt;continue&amp;lt;/tt&amp;gt;. Są one jednymi z najczęściej używanych części Pythona i w związku z tym obeznanie się z nimi jest niezbędne.&lt;br /&gt;
&lt;br /&gt;
W następnym rozdziale dowiemy się jak tworzyć funkcje i nimi operować.&lt;br /&gt;
&lt;br /&gt;
==Ćwiczenia==&lt;br /&gt;
====Zadanie: Elementy ciągu====&lt;br /&gt;
Napisz program który zapyta użytkownika o liczbę, a następnie wyliczy  dziesiąty element (wyraz ''a''&amp;lt;sub&amp;gt;9&amp;lt;/sub&amp;gt;) ciągu&lt;br /&gt;
''a&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;'' = 3,9 &amp;amp;middot; ''a''&amp;lt;sub&amp;gt;''n''–1&amp;lt;/sub&amp;gt; &amp;amp;middot; (1 – ''a''&amp;lt;sub&amp;gt;''n''–1&amp;lt;/sub&amp;gt;)&lt;br /&gt;
zaczynając od wprowadzonej przez użytkownika liczby jako ''a''&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Potem popraw program tak, by sprawdzał czy wprowadzona liczba zawiera się w przedziale&lt;br /&gt;
[0, 1]&lt;br /&gt;
i pytał ponownie, aż do uzyskania liczby z tego przedziału.&lt;br /&gt;
&lt;br /&gt;
====Zadanie: Tabliczka mnożenia====&lt;br /&gt;
Napisz program który wypisze elegancką tabliczkę mnożenia od 1 do 10.&lt;br /&gt;
&lt;br /&gt;
Np.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  1   2   3   4   5   6   7   8   9  10&lt;br /&gt;
  2   4   6   8  10  12  14  16  18  20&lt;br /&gt;
  3   6   9  12  15  18  21  24  27  30&lt;br /&gt;
  4   8  12  16  20  24  28  32  36  40&lt;br /&gt;
  5  10  15  20  25  30  35  40  45  50&lt;br /&gt;
  6  12  18  24  30  36  42  48  54  60&lt;br /&gt;
  7  14  21  28  35  42  49  56  63  70&lt;br /&gt;
  8  16  24  32  40  48  56  64  72  80&lt;br /&gt;
  9  18  27  36  45  54  63  72  81  90&lt;br /&gt;
 10  20  30  40  50  60  70  80  90 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Potem zmodyfikuj swój program tak, żeby użytkownik mógł podać zakres w jakim tabliczka ma być narysowana.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Zadanie: Kłopoty z kodem Pythona====&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
http://stackoverflow.com/questions/1395603/trouble-with-simple-python-code&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Odpowiedz na list nieszczęśliwego użytkownika Pythona.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style='font-family:monospace'&amp;gt;&lt;br /&gt;
Witam, uczę się Pythona i mam kłopot z takim kawałkiem programu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = python&amp;gt;&lt;br /&gt;
a = raw_input('Podaj liczbę: ')&lt;br /&gt;
&lt;br /&gt;
if a &amp;gt; 0:&lt;br /&gt;
    print 'dodatnia'&lt;br /&gt;
elif a == 0:&lt;br /&gt;
    print 'zero'&lt;br /&gt;
elif a &amp;lt; 0:&lt;br /&gt;
    print 'ujemna'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Program działa, ale zawsze pisze &amp;quot;dodatnia&amp;quot; czy wpiszę liczbę dodatnią, ujemną czy zero. Wydaje mi się, że rozwiązanie problemu jest proste, ale nie mogę go znaleźć ;-)&lt;br /&gt;
&lt;br /&gt;
Z góry dziękuję&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Więcej:&lt;br /&gt;
http://ivory.idyll.org/blog/sep-09/buggy-python-code&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jarekz</name></author>
		
	</entry>
</feed>