<?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%2FPython_-_powt%C3%B3rzenie%2FZaj%C4%99cia_1</id>
	<title>TI/Python - powtórzenie/Zajęcia 1 - 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%2FPython_-_powt%C3%B3rzenie%2FZaj%C4%99cia_1"/>
	<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Python_-_powt%C3%B3rzenie/Zaj%C4%99cia_1&amp;action=history"/>
	<updated>2026-04-23T12:01:48Z</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/Python_-_powt%C3%B3rzenie/Zaj%C4%99cia_1&amp;diff=1755&amp;oldid=prev</id>
		<title>Jarekz: Utworzono nową stronę &quot;= Zajęcia 1: podstawy =  Na kilku najbliższych zajęciach przypomnimy sobie to, czego się nauczyliście w zeszłym roku na programowniu w pythonie. Nie będziemy tu p...&quot;</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Python_-_powt%C3%B3rzenie/Zaj%C4%99cia_1&amp;diff=1755&amp;oldid=prev"/>
		<updated>2015-05-23T08:51:33Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;= Zajęcia 1: podstawy =  Na kilku najbliższych zajęciach przypomnimy sobie to, czego się nauczyliście w zeszłym roku na programowniu w pythonie. Nie będziemy tu p...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Zajęcia 1: podstawy =&lt;br /&gt;
&lt;br /&gt;
Na kilku najbliższych zajęciach przypomnimy sobie to, czego się nauczyliście w zeszłym roku na programowniu w pythonie. Nie będziemy tu pisać jeszcze raz tego, co jest opisane w  [[TI/Programowanie_z_Pythonem|wykładzie z programowania z pythonem]] natomiast będziemy to ćwiczyć i tego używać w praktyce.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Przypomnienie składni ==&lt;br /&gt;
&lt;br /&gt;
===Podstawy===&lt;br /&gt;
&lt;br /&gt;
====Stałe dosłowne====&lt;br /&gt;
&lt;br /&gt;
=====Liczby=====&lt;br /&gt;
&lt;br /&gt;
* które ze sposobów zapisu liczby &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; są poprawne? Co oznaczają pozostałe wyrażenia? Jaki jest ich wynik?&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pycon&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 1&lt;br /&gt;
1&lt;br /&gt;
# OK - liczba typu integer&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; .1&lt;br /&gt;
0.10000000000000001&lt;br /&gt;
# Nie OK&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 1.&lt;br /&gt;
1.0&lt;br /&gt;
# OK liczba typu float&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 1,&lt;br /&gt;
(1,)&lt;br /&gt;
# Nie OK -- wynikiem jest krotka zawierająca liczbę 1, a nie liczba 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 1.0&lt;br /&gt;
1.0&lt;br /&gt;
# OK&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 1.E-1&lt;br /&gt;
0.10000000000000001&lt;br /&gt;
# Nie OK -- 1.0 * 10^(-1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 1E-1&lt;br /&gt;
0.10000000000000001&lt;br /&gt;
# Nie OK -- 1 * 10^(-1)&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 1E+1&lt;br /&gt;
10.0&lt;br /&gt;
# Nie OK -- 1 * 10^1&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 0.1E-1&lt;br /&gt;
0.01&lt;br /&gt;
# Nie OK -- 0.1 * 10^(-1)&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 0.1E+1&lt;br /&gt;
1.0&lt;br /&gt;
# OK -- 0.1 * 10^1&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; .001E-2&lt;br /&gt;
1.0000000000000001e-05&lt;br /&gt;
# Nie OK -- 0.001 * 10^(-2) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
* które ze sposobów przedstawienia liczby &amp;lt;tt&amp;gt;1/2&amp;lt;/tt&amp;gt; są poprawne? Co oznaczają pozostałe wyrażenia? Jaki jest ich wynik?&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pycon&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 5E-1&lt;br /&gt;
0.5&lt;br /&gt;
# OK, zapis w postaci 5*10^(-1)&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; .5&lt;br /&gt;
0.5&lt;br /&gt;
# OK&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 5.&lt;br /&gt;
5.0&lt;br /&gt;
# nie OK -- wartość 5, a nie 1/2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 0.5&lt;br /&gt;
0.5&lt;br /&gt;
# OK&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 0,5&lt;br /&gt;
(0, 5)&lt;br /&gt;
# Nie OK -- wartość jest krotką zawierającą dwie liczby -- 0 i 5&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 1/2&lt;br /&gt;
0&lt;br /&gt;
# UWAGA -- NIE OK, dzielenie dwóch liczb całkowitych daje wynik całkowity,&lt;br /&gt;
# czyli tutaj zaokrąglony do 0&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 1/2.&lt;br /&gt;
0.5&lt;br /&gt;
# OK -- zapis 2. równoważnie 2.0 oznacza typ float, a nie integer&lt;br /&gt;
# dzielenie liczby integer przez float daje typ float&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 1%2&lt;br /&gt;
1&lt;br /&gt;
# nie OK -- a%b oznacza resztę z dzielenia a przez b&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
* które ze sposobów przedstawienia liczby &amp;lt;tt&amp;gt;&amp;lt;math&amp;gt;4 + 2i&amp;lt;/math&amp;gt;&amp;lt;/tt&amp;gt; są poprawne? Co oznaczają pozostałe wyrażenia? Jaki jest ich wynik?&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pycon&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 4E-2&lt;br /&gt;
0.040000000000000001&lt;br /&gt;
# Nie OK -- nie jest reprezentacją liczby &amp;lt;tt&amp;gt;&amp;lt;math&amp;gt;4 + 2i&amp;lt;/math&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 4+2i&lt;br /&gt;
SyntaxError: invalid syntax&lt;br /&gt;
# Nie OK -- części urojonej nie oznaczamy literą i&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 4+2j&lt;br /&gt;
(4+2j)&lt;br /&gt;
# OK &lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 4+2J&lt;br /&gt;
(4+2j)&lt;br /&gt;
# OK&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 2i+4&lt;br /&gt;
SyntaxError: invalid syntax&lt;br /&gt;
# Nie OK -- i nie oznacza części urojonej&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 2j+4&lt;br /&gt;
(4+2j)&lt;br /&gt;
# OK -- można zamienić kolejności części rzeczywistej i urojonej&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 2J+4&lt;br /&gt;
(4+2j)&lt;br /&gt;
# OK -- j.w.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 2+1j*2&lt;br /&gt;
(2+2j)&lt;br /&gt;
# Nie OK -- to nie jest liczba 4 + 2i, mnożenie objęło tylko część urojoną&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; (2+1j)*2&lt;br /&gt;
(4+2j)&lt;br /&gt;
# OK&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 4+1j*2&lt;br /&gt;
(4+2j)&lt;br /&gt;
# OK&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; 4+j*2&lt;br /&gt;
&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;&amp;lt;pyshell#202&amp;gt;&amp;quot;, line 1, in &amp;lt;module&amp;gt;&lt;br /&gt;
    4+j*2&lt;br /&gt;
NameError: name 'j' is not defined&lt;br /&gt;
&lt;br /&gt;
# Nie OK --  należy pisać: x + y*1j&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; complex(4,2)&lt;br /&gt;
(4+2j)&lt;br /&gt;
# OK&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; complex(2,4)&lt;br /&gt;
(2+4j)&lt;br /&gt;
# Nie OK, część rzeczywista musi być podana jako pierwszy parametr&lt;br /&gt;
# urojona jako drugi&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
* Niech&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;a = 4+2j&amp;lt;/source&amp;gt; &lt;br /&gt;
Co będzie wynikiem:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a = 4+2j&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a&lt;br /&gt;
(4+2j)&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a.real&lt;br /&gt;
4.0&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a.imag&lt;br /&gt;
2.0&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; abs(a)&lt;br /&gt;
4.4721359549995796&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import math&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; math.sqrt(a.real**2 + a.imag**2)&lt;br /&gt;
4.4721359549995796&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
* Zastanów się, jak możesz zapisać liczbę &amp;lt;tt&amp;gt;2 + 0.5i&amp;lt;/tt&amp;gt;? Spróbuj wymyślić jak najwięcej sposobów, na które możesz zapisać taką liczbę. Nie chodzi w tym o tworzenie sposobów zapisu &amp;quot;na jedno kopyto&amp;quot; (niedopuszczalne jest generowanie ciągów jak np. &amp;lt;tt&amp;gt;0.2E+1&amp;lt;/tt&amp;gt;, oraz &amp;lt;tt&amp;gt;0.02E+2&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;0.002E+3&amp;lt;/tt&amp;gt;, ...). Dla osoby która wymyśli najwięcej sposobów przewidziany &amp;quot;+&amp;quot;. Ocenianie czy dwa dane sposoby zapisu są &amp;quot;znacząco&amp;quot; różne może być subiektywne i niesprawiedliwe. Plik z proponowanymi reprezentacjami, sformatowany tak, że w każdej linii jest jedna reprezentacja, nazywamy &amp;lt;tt&amp;gt;imie.nazwisko.txt&amp;lt;/tt&amp;gt; (gdzie &amp;lt;tt&amp;gt;imie&amp;lt;/tt&amp;gt; i &amp;lt;tt&amp;gt;nazwisko&amp;lt;/tt&amp;gt; to imię i nazwisko autora pliku) i wysyłamy na adres prowadzącego zajęcia. Umieszczenie w pliku reprezentacji, która nie jest poprawna, dyskwalifikuje.&lt;br /&gt;
&lt;br /&gt;
=====Napisy=====&lt;br /&gt;
&lt;br /&gt;
* Odgadnij wyniki następujących instrukcji:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('Jak ' 'Cię zwą?')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('Jak ','Cię zwą?')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('Jak &amp;quot; &amp;quot;Cię zwą?')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print (&amp;quot;Jak ' 'Cię zwą?&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print (&amp;quot;To jest napis wielolinijkowy.&lt;br /&gt;
To jest drugi wiersz.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
a = 1E+1&lt;br /&gt;
print a&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
a = &amp;quot;1E+1&amp;quot;&lt;br /&gt;
print &amp;quot;wartosc a:&amp;quot;, a&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('''To jest napis wielolinijkowy.&lt;br /&gt;
To jest drugi wiersz.''')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('To jest napis wielolinijkowy.\&lt;br /&gt;
To jest drugi wiersz.')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('To jest napis wielolinijkowy.\\&lt;br /&gt;
To jest drugi wiersz.')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('To jest apostrof:&amp;quot; ' &amp;quot;')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('To jest apostrof:\'')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('To jest &amp;quot;backslash&amp;quot;:\')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('To jest &amp;quot;backslash&amp;quot;:\\')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('To są 2 &amp;quot;backslashe&amp;quot;:\\\')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
print ('To są 2 &amp;quot;backslashe&amp;quot;:\\\\')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Zmienne====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Które nazwy zmiennych są poprawne? Jaka jest ogólna zasada?&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
*zmienna&lt;br /&gt;
&lt;br /&gt;
jedna zmienna&lt;br /&gt;
&lt;br /&gt;
jednaZmienna&lt;br /&gt;
&lt;br /&gt;
_jedna_zmienna&lt;br /&gt;
&lt;br /&gt;
jedna.zmienna&lt;br /&gt;
&lt;br /&gt;
1zmienna&lt;br /&gt;
 &lt;br /&gt;
zmienna1&lt;br /&gt;
&lt;br /&gt;
Zmienna&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Jaki będzie wynik następujących operacji:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
MojaZmienna = 5&lt;br /&gt;
Mojazmienna = 3&lt;br /&gt;
print MojaZmienna&lt;br /&gt;
&lt;br /&gt;
a = 5&lt;br /&gt;
b = c = a&lt;br /&gt;
&lt;br /&gt;
a = 5&lt;br /&gt;
b = a = c&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===Obiekty===&lt;br /&gt;
&lt;br /&gt;
* Jaki będzie wynik następujących operacji?:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a = &amp;quot;napis&amp;quot;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; b = a&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a = &amp;quot;napis2&amp;quot;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print b&lt;br /&gt;
napis&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print a&lt;br /&gt;
napis2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a = [1,2,3,4]&lt;br /&gt;
b = a&lt;br /&gt;
a = [2,3,4]&lt;br /&gt;
print b&lt;br /&gt;
&lt;br /&gt;
a = [1,2,3,4]&lt;br /&gt;
b = a&lt;br /&gt;
a.append(5)&lt;br /&gt;
print b&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Operatory===&lt;br /&gt;
Tabela operatorów jest dostępna [[TI/Programowanie_z_Pythonem/Stałe_i_zmienne#Tabela_operator.C3.B3w|tu]]. &lt;br /&gt;
O kolejności wykonywania operacji decyduje [[TI/Programowanie_z_Pythonem/Stałe_i_zmienne#Kolejno.C5.9B.C4.87_wykonywania|tabela priorytetów operatorów]].&lt;br /&gt;
&lt;br /&gt;
Ściąga z operatorów binarnych:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
Niech a = 60; b = 13; W zapisie binarnym:&lt;br /&gt;
&lt;br /&gt;
#     7654 3210      &lt;br /&gt;
# x = abcd efgh &amp;lt;=&amp;gt; x = h*(2**0) + g*(2**1) + f*(2**2) + ... + a*(2**7) &lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
a =   0011 1100&lt;br /&gt;
b =   0000 1101&lt;br /&gt;
-----------------&lt;br /&gt;
a&amp;amp;b = 0000 1100        # logiczny and&lt;br /&gt;
a|b = 0011 1101        # logiczny or&lt;br /&gt;
a^b = 0011 0001        # logiczny xor&lt;br /&gt;
~a  = 1100 0011        # logiczny not&lt;br /&gt;
-----------------&lt;br /&gt;
a&amp;lt;&amp;lt;b = 111 1000 0000 0000 0000 &lt;br /&gt;
# przesunięcie o 13 bitów w lewo (do zapisu liczby wystarczało 8 bitów, &lt;br /&gt;
# przesuwając o 13 bitów w lewo, najbardziej znaczącą jedynkę można było&lt;br /&gt;
# tylko o 2 bity przesunąć bez zwiększania liczby bitów potrzebnej do zapisu,&lt;br /&gt;
# w kolejnych 11 krokach po prawej były dopisywane zera. a&amp;lt;&amp;lt;b == a * (2**b))&lt;br /&gt;
a&amp;gt;&amp;gt;b = 0        # przesunięcie o 13 bitów w prawo (a&amp;gt;&amp;gt;b == a/(2**b))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
60 &amp;amp; 13&lt;br /&gt;
&lt;br /&gt;
60 + 13&lt;br /&gt;
&lt;br /&gt;
5 + 3*2^2&lt;br /&gt;
&lt;br /&gt;
5 + 3*2**2&lt;br /&gt;
&lt;br /&gt;
a = 5&lt;br /&gt;
a/2&lt;br /&gt;
&lt;br /&gt;
a = 5.&lt;br /&gt;
a/2&lt;br /&gt;
&lt;br /&gt;
a = 5.&lt;br /&gt;
a//2&lt;br /&gt;
&lt;br /&gt;
a = 5&lt;br /&gt;
a%2&lt;br /&gt;
&lt;br /&gt;
&amp;quot;a&amp;quot; * 3 + &amp;quot;b&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Wykonanie Warunkowe ===&lt;br /&gt;
====Wartości logiczne====&lt;br /&gt;
Dwie wartości, prawdę i fałsz, oznaczamy często jako 1 i 0. W Pythonie jako wartość oznaczającą prawdę można użyć liczby 1 albo specjalnego obiektu True, natomiast fałsz — liczby 0 lub obiektu False. Te specjalne obiekty nazywane są po angielsku booleans, co należy rozumieć jako wartości Boole'a.&lt;br /&gt;
&lt;br /&gt;
Cwiczenia&lt;br /&gt;
&lt;br /&gt;
* Które wyrażenia są poprawne, i jaka jest ich wartość?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
1 &amp;lt; 2 &amp;lt; 3 &amp;lt; 4 &amp;lt;= 5 &amp;gt; 4 == 4&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
1 &amp;lt; 2 &amp;lt; 3 &amp;lt; 4 &amp;lt;= 5 &amp;gt; 4 != 4&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;a&amp;quot; == &amp;quot;A&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;a&amp;quot; == &amp;quot;a&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;kluczyk&amp;quot; &amp;lt; &amp;quot;klucz&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;klucz&amp;quot; &amp;lt; &amp;quot;wielki klucz&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;A&amp;quot; &amp;lt; &amp;quot;B&amp;quot; &amp;lt; &amp;quot;b&amp;quot; &amp;lt; &amp;quot;a&amp;quot; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Wyjaśnienie|title=Wyjaśnienie| text=&lt;br /&gt;
Uporządkowanie znaków jest zgodne z [http://pl.wikipedia.org/wiki/ASCII tablicą ASCII]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
a = 5&lt;br /&gt;
a%2 == 0 and a &amp;lt; 10 or a%2 == 1 and a &amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Sprobuj zgadnąć jaki będzie wynik następujących wyrażeń. Następnie sprawdź.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'0' and '0'&lt;br /&gt;
'0' and '1'&lt;br /&gt;
'1' and '1'&lt;br /&gt;
('0' or '1') == 1&lt;br /&gt;
('0' or '1') == True&lt;br /&gt;
if ('0' or '1'):&lt;br /&gt;
 print &amp;quot;True&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
 print &amp;quot;False&amp;quot;&lt;br /&gt;
0 or 1&lt;br /&gt;
0 or 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'a' == ('a' or 'b')&lt;br /&gt;
'b' == ('a' or 'b')&lt;br /&gt;
'a' == ('a' and 'b')&lt;br /&gt;
'b' == ('a' and 'b')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Zgadnij co sprawdzają następujące instrukcje, jakie jest ich znaczenie?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
delta &amp;lt; 0 or a*x1**2 + b*x1 + c == 0 and a*x2**2 + b*x2 + c == 0 and x1 &amp;lt;= x2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Zapisz wyrażenia sprawdzające:&lt;br /&gt;
&lt;br /&gt;
** Czy punkt o współrzędnych (x,y) należy do wnętrze koła o środku w punkcie (0,0) i promieniu r&lt;br /&gt;
** Czy punkt o współrzędnych (x,y) należy do wnętrza kwadratu o lewym dolnym wierzchołku w punkcie (2,3) i boku 5.&lt;br /&gt;
&lt;br /&gt;
====Konstrukcja &amp;lt;tt&amp;gt;if&amp;lt;/tt&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
* Narysuj &amp;quot;graf&amp;quot; / &amp;quot;drzewo&amp;quot; / &amp;quot;diagram&amp;quot; reprezentowany przez następującą instrukcję. Jaka będzie odpowiedź dla liczby wejściowej 0, oraz podanej listy ruchów?&lt;br /&gt;
Podaj najkrótszą listę &amp;quot;ruchów&amp;quot; dzięki którym możesz osiągnąć liczbę będącą odpowiedzią na &amp;quot;Wielkie Pytanie o Życie, Wszechświat i całą resztę (Ultimate Question of Life, the Universe, and Everything)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
start = 0&lt;br /&gt;
ruchy = [0,0,0,1] &lt;br /&gt;
i = 0&lt;br /&gt;
&lt;br /&gt;
if ruchy[i] == 0:&lt;br /&gt;
    start += 2&lt;br /&gt;
    i += 1&lt;br /&gt;
    if ruchy[i] == 0:&lt;br /&gt;
        start += 2&lt;br /&gt;
        i += 1&lt;br /&gt;
        if ruchy[i] == 0:&lt;br /&gt;
            start += 2&lt;br /&gt;
            i += 1&lt;br /&gt;
            if ruchy[i] == 0:&lt;br /&gt;
                start += 2&lt;br /&gt;
                return start&lt;br /&gt;
            else:&lt;br /&gt;
                start *= 7&lt;br /&gt;
                return start&lt;br /&gt;
&lt;br /&gt;
        else:&lt;br /&gt;
            start *= 7&lt;br /&gt;
            return start&lt;br /&gt;
    else:&lt;br /&gt;
        start *= 7&lt;br /&gt;
        return start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
elif ruchy[i] == 1:&lt;br /&gt;
    start += 6&lt;br /&gt;
    i += 1&lt;br /&gt;
    if ruchy[i] == 0:&lt;br /&gt;
        start += 6&lt;br /&gt;
        return start&lt;br /&gt;
    elif ruchy[i] == 1:&lt;br /&gt;
        start *= 7&lt;br /&gt;
        return start&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
        print &amp;quot;niedozwolony ruch&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;niedozwolony ruch&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Opisz podobną instrukcją następujący &amp;quot;graf&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Solution|title=Na marginesie|text=&lt;br /&gt;
Zamiast pisać instrukcję:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
if (a&amp;gt;=b):&lt;br /&gt;
    x = a&lt;br /&gt;
else:&lt;br /&gt;
    x = b&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
możemy napisać:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
x = a if (a&amp;gt;=b) else b&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Pętle ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
mx = 100&lt;br /&gt;
s = 0&lt;br /&gt;
lista = [1,49,50,10]&lt;br /&gt;
i = 0&lt;br /&gt;
&lt;br /&gt;
while s &amp;lt; mx:&lt;br /&gt;
    s += lista[i]&lt;br /&gt;
    i += 1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* opisz własnymi słowami co robi ta pętla&lt;br /&gt;
* ile razy wykona się ta pętla dla listy z przykładu?&lt;br /&gt;
* podaj przykład danych, dla których pętla wykona się 120 razy&lt;br /&gt;
* podaj przykład danych, dla których wykonanie pętli zakończy się błędem. Popraw petlę tak, aby nie kończyła się błedem dla tych danych.&lt;br /&gt;
* przepisz ten fragment kodu używając pętli &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt;.&lt;br /&gt;
====Ćwiczenia====&lt;br /&gt;
* Napisz pętlę for wypisującą kwadraty liczb od 0 do 1000000000. Użyj range lub xrange. Którego użyjesz i dlaczego?&lt;br /&gt;
&lt;br /&gt;
=== Ćwiczenia powtórzeniowe ===&lt;br /&gt;
* Zadeklaruj zmienną &amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt; równą pięć. Zwiększ ją o jeden, a następnie o jeden. Wypisz jej wartość.&lt;br /&gt;
* Zastanów się najpierw, czy wyrażenia/instrukcje są poprawne. Spróbuj określić ich wynik. Następnie sprawdź, czy miałeś rację, testując je. Jeżeli okażą się niepoprawne, popraw je, tak by działały bądź zwracały oczekiwany wynik.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
res = 2 + 3 * 4&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
res = -x**1/2 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &lt;br /&gt;
delta &amp;lt; 0 or a*x1**2 + b*x1 + c == 0 and a*x2**2 + b*x2 + c == 0 and x1 &amp;lt;= x2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a += 2 itd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
'a'.join(&amp;quot;napis&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
'a'.join([&amp;quot;b&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;b&amp;quot;])&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Problemy===&lt;br /&gt;
====Zamiana systemu reprezentacji liczb====&lt;br /&gt;
{{TI/Zmiana reprezentacji liczb}}&lt;br /&gt;
====Generator liczb pseudolosowych====&lt;br /&gt;
{{TI/Generator_liczb_pseudolosowych}}&lt;br /&gt;
====Rysowanie figur====&lt;br /&gt;
{{TI/Rysowanie_figur}}&lt;br /&gt;
{{następny|TI/Funkcje,_struktury_danych,_moduły}}&lt;br /&gt;
[[category:Programowanie dla Neuroinformatyków]]&lt;/div&gt;</summary>
		<author><name>Jarekz</name></author>
		
	</entry>
</feed>