<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>http://brain.fuw.edu.pl/edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tgub</id>
	<title>Brain-wiki - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="http://brain.fuw.edu.pl/edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tgub"/>
	<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php/Specjalna:Wk%C5%82ad/Tgub"/>
	<updated>2026-04-09T04:28:41Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/pyqt5&amp;diff=8439</id>
		<title>TI/Skrypty z zajęć/pyqt5</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/pyqt5&amp;diff=8439"/>
		<updated>2020-06-17T12:28:12Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- from PyQt5 import QtCore, QtGui, QtWidgets import sys import numpy as np  licznik = 0 znaki = np.array([[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;],[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
from PyQt5 import QtCore, QtGui, QtWidgets&lt;br /&gt;
import sys&lt;br /&gt;
import numpy as np&lt;br /&gt;
&lt;br /&gt;
licznik = 0&lt;br /&gt;
znaki = np.array([[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;],[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;],[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]])&lt;br /&gt;
znaki_old = znaki.copy()&lt;br /&gt;
&lt;br /&gt;
class NaszButton(QtWidgets.QPushButton):&lt;br /&gt;
    def __init__(self,i,j,*args,**kwargs):&lt;br /&gt;
        super().__init__(*args,**kwargs)&lt;br /&gt;
        self.setGeometry(QtCore.QRect(i*200, j*200, 200, 200))&lt;br /&gt;
        self.setText(&amp;quot;&amp;quot;)&lt;br /&gt;
        self.clicked.connect(self.clickniecie)&lt;br /&gt;
        self.i = i&lt;br /&gt;
        self.j = j&lt;br /&gt;
    &lt;br /&gt;
    def clickniecie(self):&lt;br /&gt;
        global licznik&lt;br /&gt;
        global znaki&lt;br /&gt;
        global znaki_old&lt;br /&gt;
        if znaki[self.i][self.j] == &amp;quot;&amp;quot;:&lt;br /&gt;
            licznik += 1&lt;br /&gt;
            znaki_old = znaki&lt;br /&gt;
            znaki = znaki_old.copy()&lt;br /&gt;
            if licznik%2:&lt;br /&gt;
                znaki[self.i][self.j] = 'X'&lt;br /&gt;
            else:&lt;br /&gt;
                znaki[self.i][self.j] = 'O'&lt;br /&gt;
        self.setText(str(znaki[self.i][self.j]))&lt;br /&gt;
&lt;br /&gt;
class NaszWidget(QtWidgets.QWidget):   &lt;br /&gt;
    def __init__(self,*args,**kwargs):&lt;br /&gt;
        super().__init__(*args,**kwargs)&lt;br /&gt;
        self.setObjectName(&amp;quot;PlusMinus&amp;quot;)&lt;br /&gt;
        self.resize(600, 800)&lt;br /&gt;
        self.buttony = []&lt;br /&gt;
        for i in range(3):&lt;br /&gt;
            for j in range(3):&lt;br /&gt;
                self.buttony.append(NaszButton(i,j,self))&lt;br /&gt;
        self.czyszczenie = QtWidgets.QPushButton(self)&lt;br /&gt;
        self.czyszczenie.setGeometry(QtCore.QRect(0, 600, 600, 200))&lt;br /&gt;
        self.czyszczenie.setText(&amp;quot;czyszczenie&amp;quot;)&lt;br /&gt;
        self.czyszczenie.clicked.connect(self.czysc)&lt;br /&gt;
        self.show()&lt;br /&gt;
&lt;br /&gt;
    def czysc(self):&lt;br /&gt;
        global znaki&lt;br /&gt;
        global licznik&lt;br /&gt;
        znaki = znaki_old.copy()&lt;br /&gt;
        licznik -=1&lt;br /&gt;
        for button in self.buttony:&lt;br /&gt;
            button.setText(str(znaki[button.i][button.j]))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    app = QtWidgets.QApplication(sys.argv)&lt;br /&gt;
    PlusMinus = NaszWidget()&lt;br /&gt;
    sys.exit(app.exec_())&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8438</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8438"/>
		<updated>2020-06-17T12:27:26Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k2|Klasy 2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k3|Klasy 3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz1-3|Klasy - zadania 1-3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k4|Klasy 4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz4-6|Klasy - zadania 4-6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5|Klasy 5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5a|Klasy 5a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz7-9|Klasy - zadania 7-9]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k6|Klasy 6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k6a|Klasy 6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz10-14|Klasy - zadania 10-14]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k7|Klasy 7]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k8|Klasy 8]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k8a|Klasy 8a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz15-17|Klasy - zadania 15-17]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/pyqt5|PyQt5]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz15-17&amp;diff=8428</id>
		<title>TI/Skrypty z zajęć/kz15-17</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz15-17&amp;diff=8428"/>
		<updated>2020-06-03T18:24:34Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- ''' Zadanie 15 Przepisz klasę ciąg arytmetyczny z zadania 8, tak by zwracała odpowideni wyjątek przy odwołaniu się d...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 15&lt;br /&gt;
Przepisz klasę ciąg arytmetyczny z zadania 8, tak by zwracała odpowideni wyjątek przy odwołaniu się do niewłasciwego elementu&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
class CiagArytmetyczny():&lt;br /&gt;
    def __init__(self, a1, r):&lt;br /&gt;
        self.__a1 = float(a1)&lt;br /&gt;
        self.__r = float(r)&lt;br /&gt;
&lt;br /&gt;
    def __get_a1__(self):&lt;br /&gt;
        return self.__a1&lt;br /&gt;
&lt;br /&gt;
    def __get_r__(self):&lt;br /&gt;
        return self.__r&lt;br /&gt;
    &lt;br /&gt;
    def __set_a1__(self, a1):&lt;br /&gt;
        self.__a1 = float(a1)&lt;br /&gt;
&lt;br /&gt;
    def __set_r__(self, r):&lt;br /&gt;
        self.__r = float(r)&lt;br /&gt;
    &lt;br /&gt;
    a1 = property(__get_a1__,__set_a1__)&lt;br /&gt;
    r = property(__get_r__,__set_r__)&lt;br /&gt;
    &lt;br /&gt;
    def __getitem__(self,n):&lt;br /&gt;
        if isinstance(n,int):&lt;br /&gt;
            if n &amp;lt; 1: raise IndexError &lt;br /&gt;
            return self.__a1 + (n-1)*self.__r&lt;br /&gt;
        raise TypeError&lt;br /&gt;
    &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        return CiagArytmetyczny(self.a1 + other.a1, self.r + other.r)&lt;br /&gt;
&lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'CiagArytmetyczny a1 = '+str(self.__a1)+' r = '+str(self.__r)&lt;br /&gt;
    &lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        return str(self)&lt;br /&gt;
    &lt;br /&gt;
'''&lt;br /&gt;
Zadanie 16&lt;br /&gt;
Początek jak w zadaniu 9:&lt;br /&gt;
&amp;quot;Napisz klasę CiągArytmetycznyZeSlownikiem, która dziedziczy po klasie &lt;br /&gt;
CiągArtymetyczny. Zaimplementuj w niej metodę __setitem__, która będzie&lt;br /&gt;
 zapisywać wywołane klucze i wartości do prywatnego słownika. &lt;br /&gt;
Klasa powinna zapewniać dostęp do tego słownika, ale bez możliwości jego edycji.&amp;quot;&lt;br /&gt;
ale tym rezem można już używać super(). Nadpisz również metodę __getitem__ tak, by zwracała wartosci wczesniej przypisane &lt;br /&gt;
przez __setitem__. Skorzystaj z try except &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
class CiagArytmetycznyZeSlownikiem(CiagArytmetyczny):&lt;br /&gt;
      &lt;br /&gt;
    def __init__(self,*args, **kwargs):&lt;br /&gt;
        super().__init__(*args, **kwargs)&lt;br /&gt;
        self.__sl = {}&lt;br /&gt;
        &lt;br /&gt;
    &lt;br /&gt;
    def __setitem__(self, key, value):&lt;br /&gt;
        self.__sl[key] = value&lt;br /&gt;
        &lt;br /&gt;
    @property&lt;br /&gt;
    def sl(self):&lt;br /&gt;
        return self.__sl.copy()&lt;br /&gt;
&lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'CiagArytmetycznyZeSlownikiem a1 = '+str(self.a1)+' r = '+str(self.r)&lt;br /&gt;
&lt;br /&gt;
    def __getitem__(self,n):&lt;br /&gt;
        try:&lt;br /&gt;
            return self.__sl[n]&lt;br /&gt;
        except:&lt;br /&gt;
            return super().__getitem__(n)&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 17&lt;br /&gt;
Napisz dekorator mierzący czas działania funkcji i wypisujący ten czas przy każdym wywołaniu.&lt;br /&gt;
'''&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
def timeit(fun):&lt;br /&gt;
    def f(*args, **kwargs):&lt;br /&gt;
        start = time.time()&lt;br /&gt;
        result = fun(*args, **kwargs)&lt;br /&gt;
        stop = time.time()&lt;br /&gt;
        print('Obliczenie trwalo',stop-start,'s')&lt;br /&gt;
        return result&lt;br /&gt;
    return f&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k8a&amp;diff=8427</id>
		<title>TI/Skrypty z zajęć/k8a</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k8a&amp;diff=8427"/>
		<updated>2020-06-03T18:23:59Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed Jun  3 12:16:05 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  def inv(x):     try:         value = 1/x         return value...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Jun  3 12:16:05 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
def inv(x):&lt;br /&gt;
    try:&lt;br /&gt;
        value = 1/x&lt;br /&gt;
        return value&lt;br /&gt;
    except (ZeroDivisionError,TypeError):&lt;br /&gt;
        print('podaj liczbe rozna od zera !!!!')&lt;br /&gt;
        return 0&lt;br /&gt;
&lt;br /&gt;
#    finally:&lt;br /&gt;
#        print('oo')&lt;br /&gt;
        &lt;br /&gt;
class ArgumentCiaguError(Exception):&lt;br /&gt;
    pass&lt;br /&gt;
&lt;br /&gt;
class CiagArytmetyczny():&lt;br /&gt;
    def __init__(self, a1, r):&lt;br /&gt;
        self.__a1 = float(a1)&lt;br /&gt;
        self.__r = float(r)&lt;br /&gt;
&lt;br /&gt;
    def __get_a1__(self):&lt;br /&gt;
        return self.__a1&lt;br /&gt;
&lt;br /&gt;
    def __get_r__(self):&lt;br /&gt;
        return self.__r&lt;br /&gt;
    &lt;br /&gt;
    def __set_a1__(self, a1):&lt;br /&gt;
        self.__a1 = float(a1)&lt;br /&gt;
&lt;br /&gt;
    def __set_r__(self, r):&lt;br /&gt;
        self.__r = float(r)&lt;br /&gt;
    &lt;br /&gt;
    a1 = property(__get_a1__,__set_a1__)&lt;br /&gt;
    r = property(__get_r__,__set_r__)&lt;br /&gt;
    &lt;br /&gt;
    def __getitem__(self,n):&lt;br /&gt;
        if isinstance(n,int):&lt;br /&gt;
            if n &amp;lt; 1: raise ArgumentCiaguError('tylko naturalne bez zera') &lt;br /&gt;
            return self.__a1 + (n-1)*self.__r&lt;br /&gt;
        raise TypeError&lt;br /&gt;
        &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        return CiagArytmetyczny(self.a1 + other.a1, self.r + other.r)&lt;br /&gt;
&lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'CiagArytmetyczny a1 = '+str(self.__a1)+' r = '+str(self.__r)&lt;br /&gt;
    &lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        return str(self)&lt;br /&gt;
    &lt;br /&gt;
z = CiagArytmetyczny(1,1)&lt;br /&gt;
x = CiagArytmetyczny(100,1)&lt;br /&gt;
&lt;br /&gt;
for n in range(-10,11):&lt;br /&gt;
    try:&lt;br /&gt;
        print(z[n])&lt;br /&gt;
    except ArgumentCiaguError:&lt;br /&gt;
        pass #print('zly argument')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k8&amp;diff=8426</id>
		<title>TI/Skrypty z zajęć/k8</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k8&amp;diff=8426"/>
		<updated>2020-06-03T18:23:12Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed Jun  3 11:09:18 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot; def dodajAutora(fun):     fun.autor = 'Tomasz Gubiec'     retu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Jun  3 11:09:18 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
def dodajAutora(fun):&lt;br /&gt;
    fun.autor = 'Tomasz Gubiec'&lt;br /&gt;
    return fun&lt;br /&gt;
&lt;br /&gt;
def opiszWykonanie(fun):&lt;br /&gt;
    def f(*args,**kwargs):&lt;br /&gt;
        print('Poczatek wykonania funkcji',fun.__name__, 'dla argumentow', args, kwargs)&lt;br /&gt;
        value =  fun(*args,**kwargs)&lt;br /&gt;
        print('Koniec wykonania funkcji',fun.__name__, 'dla argumentow', args, kwargs)&lt;br /&gt;
        print(' a otrzymany wynik to', value)&lt;br /&gt;
        return value&lt;br /&gt;
    return f&lt;br /&gt;
&lt;br /&gt;
class dodajAutora2():&lt;br /&gt;
    def __init__(self,fun):&lt;br /&gt;
        self.__fun = fun&lt;br /&gt;
    &lt;br /&gt;
    @property&lt;br /&gt;
    def autor(self):&lt;br /&gt;
        return 'Tomasz Gubiec'&lt;br /&gt;
    &lt;br /&gt;
    def __call__(self, *args, **kwargs):&lt;br /&gt;
        return self.__fun(*args, **kwargs)&lt;br /&gt;
    &lt;br /&gt;
class memoize():&lt;br /&gt;
    def __init__(self,fun):&lt;br /&gt;
        self.__fun = fun&lt;br /&gt;
        self.__memo = {}&lt;br /&gt;
        &lt;br /&gt;
    def __call__(self, *args):&lt;br /&gt;
        if args in self.__memo:&lt;br /&gt;
            print('to juz kiedys bylo liczone')&lt;br /&gt;
            return self.__memo[args]&lt;br /&gt;
        else:&lt;br /&gt;
            value = self.__fun(*args)&lt;br /&gt;
            self.__memo[args] = value&lt;br /&gt;
            return value&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
@memoize #kwadratowa = dodajAutora(kwadratowa)&lt;br /&gt;
def kwadratowa(x):&lt;br /&gt;
    return x*x&lt;br /&gt;
&lt;br /&gt;
@memoize #liniowa = dodajAutora(liniowa)&lt;br /&gt;
def liniowa(x):&lt;br /&gt;
    return 2*x + 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@dodajAutora&lt;br /&gt;
@memoize&lt;br /&gt;
def fibo(n):&lt;br /&gt;
    if (n == 1) or (n == 2): return 1&lt;br /&gt;
    return fibo(n-1) + fibo(n-2)&lt;br /&gt;
&lt;br /&gt;
#a = [kwadratowa(i) for i in range(100)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8425</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8425"/>
		<updated>2020-06-03T18:22:30Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k2|Klasy 2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k3|Klasy 3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz1-3|Klasy - zadania 1-3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k4|Klasy 4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz4-6|Klasy - zadania 4-6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5|Klasy 5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5a|Klasy 5a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz7-9|Klasy - zadania 7-9]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k6|Klasy 6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k6a|Klasy 6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz10-14|Klasy - zadania 10-14]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k7|Klasy 7]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k8|Klasy 8]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k8a|Klasy 8a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz15-17|Klasy - zadania 15-17]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k7&amp;diff=8380</id>
		<title>TI/Skrypty z zajęć/k7</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k7&amp;diff=8380"/>
		<updated>2020-06-02T13:25:57Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Tue Jun  2 12:30:34 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Punkt():&lt;br /&gt;
    __ile_nas = 0&lt;br /&gt;
    &lt;br /&gt;
    @staticmethod&lt;br /&gt;
    def kwadratowa(x):&lt;br /&gt;
        return x**2&lt;br /&gt;
    &lt;br /&gt;
    @classmethod&lt;br /&gt;
    def ile_nas(cls):&lt;br /&gt;
        return cls.__ile_nas&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, x, y):&lt;br /&gt;
        self.__x = x&lt;br /&gt;
        self.__y = y&lt;br /&gt;
        Punkt.__ile_nas += 1&lt;br /&gt;
        &lt;br /&gt;
    def __del__(self):&lt;br /&gt;
        Punkt.__ile_nas -=1&lt;br /&gt;
    &lt;br /&gt;
    def getX(self): return self.__x&lt;br /&gt;
    def getY(self): return self.__y&lt;br /&gt;
&lt;br /&gt;
p1 = Punkt(1,1)&lt;br /&gt;
p1 = Punkt(1,4)&lt;br /&gt;
p2 = Punkt(5,4)&lt;br /&gt;
p3 = Punkt(5,1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz10-14&amp;diff=8379</id>
		<title>TI/Skrypty z zajęć/kz10-14</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz10-14&amp;diff=8379"/>
		<updated>2020-06-02T13:25:28Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Tue Jun  2 11:03:05 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 10&lt;br /&gt;
Utwórz klasę Punkt, która będzie służyła do reprezentowania punktu na płaszczyźnie. &lt;br /&gt;
Klasa powinna mieć dwa pola (współrzędne punktu), konstruktor dwuparametrowy oraz metody: &lt;br /&gt;
    getX, getY,setX, seyY, odlegloscOdPkt (o parametrze typu Punkt), &lt;br /&gt;
    __str__ (opis punktu postaci (x; y)).&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
class Punkt():&lt;br /&gt;
    def __init__(self, x, y):&lt;br /&gt;
        self.__x = x&lt;br /&gt;
        self.__y = y&lt;br /&gt;
    &lt;br /&gt;
    def getX(self): return self.__x&lt;br /&gt;
    def getY(self): return self.__y&lt;br /&gt;
    def setX(self, x): self.__x = x&lt;br /&gt;
    def setY(self, y): self.__y = y&lt;br /&gt;
    def __str__(self): return '('+str(self.__x)+'; '+str(self.__y)+')'&lt;br /&gt;
    def odlegloscOdPkt(self, other):&lt;br /&gt;
        return ((self.__x-other.getX())**2 + (self.__y-other.getY())**2)**(0.5)&lt;br /&gt;
#p1 = Punkt(1,1)&lt;br /&gt;
#p2 = Punkt(4,5)&lt;br /&gt;
#print(p1)&lt;br /&gt;
#print(p2)&lt;br /&gt;
#print(p1.odlegloscOdPkt(p2))&lt;br /&gt;
#print(p2.odlegloscOdPkt(p1))       &lt;br /&gt;
'''&lt;br /&gt;
Zadanie 11&lt;br /&gt;
Napisz klasę Wielobok opisującą wielobok. Klasa powinna zawierać listę obiektów klasy Punkt&lt;br /&gt;
(z zadania poprzedniego) przechowującą informację o współrzędnych punktów tworzących wielobok, konstruktor, który jako argument powinien przyjmować dowolną liczbę elementów typu Punkt, metodę&lt;br /&gt;
zwracającą liczbę boków, metodę liczącą obwód wieloboku oraz metodę __str__ wypisująca&lt;br /&gt;
na ekranie wszystkie wierzchołki wieloboku.&lt;br /&gt;
'''&lt;br /&gt;
class Wielobok():&lt;br /&gt;
    def __init__(self, *args):&lt;br /&gt;
        self.__punkty = list(args)&lt;br /&gt;
        &lt;br /&gt;
    def n(self):&lt;br /&gt;
        return len(self.__punkty)&lt;br /&gt;
    &lt;br /&gt;
    def obwod(self):&lt;br /&gt;
        result = 0.0&lt;br /&gt;
        poczatek = self.__punkty[-1]&lt;br /&gt;
        for koniec in self.__punkty:&lt;br /&gt;
            result += poczatek.odlegloscOdPkt(koniec)&lt;br /&gt;
            poczatek = koniec&lt;br /&gt;
        return result&lt;br /&gt;
    &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
#        result = ''&lt;br /&gt;
#        for punkt in self.__punkty:&lt;br /&gt;
#            result += str(punkt)&lt;br /&gt;
#        return result&lt;br /&gt;
        return ' '.join([str(p) for p in self.__punkty])&lt;br /&gt;
&lt;br /&gt;
p1 = Punkt(1,1)&lt;br /&gt;
p2 = Punkt(1,4)&lt;br /&gt;
p3 = Punkt(5,4)&lt;br /&gt;
p4 = Punkt(5,1)&lt;br /&gt;
#w = Wielobok(p1,p2,p3,p4)&lt;br /&gt;
#print(w)&lt;br /&gt;
#print(w.n())&lt;br /&gt;
#print(w.obwod())    &lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 12&lt;br /&gt;
Napisz klasę Trojkat dziedziczącą po klasie Wielobok. Konstruktor powinien przyjmować trzy &lt;br /&gt;
obiekty klasy punkt. Napisz metodę liczącą pole trójkąta (polecam wzór Herona)&lt;br /&gt;
 oraz metodę __str__ korzystającą z tej samej metody klasy rodzica.&lt;br /&gt;
'''&lt;br /&gt;
class Trojkat(Wielobok):&lt;br /&gt;
    def __init__(self, p1, p2, p3):&lt;br /&gt;
        super().__init__(p1, p2, p3)&lt;br /&gt;
        &lt;br /&gt;
    def pole(self):&lt;br /&gt;
        p = 0.5 * self.obwod()&lt;br /&gt;
        boki = (p1.odlegloscOdPkt(p2),p2.odlegloscOdPkt(p3),p3.odlegloscOdPkt(p1))&lt;br /&gt;
        return (p*(p-boki[0])*(p-boki[1])*(p-boki[2]))**0.5&lt;br /&gt;
    &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'Trojkat '+ super().__str__()&lt;br /&gt;
    &lt;br /&gt;
tr = Trojkat(p1,p2,p4)&lt;br /&gt;
#print(tr)&lt;br /&gt;
#print(tr.obwod())&lt;br /&gt;
#print(tr.pole())&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 13&lt;br /&gt;
Napisz klasę Rownoleglobok dziedziczącą po klasie Wielobok. Konstruktor dostaje trzy &lt;br /&gt;
Punkty (A,B i C). Czwarty punkt powstaje z odbicie punktu A względem środka odcinka &lt;br /&gt;
BC. Napisz metodę obliczająca pole powierzchni za pomocą tworzonych na tę potrzebę &lt;br /&gt;
obiektów klasy Trojkat.&lt;br /&gt;
'''&lt;br /&gt;
class Rownoleglobok(Wielobok):&lt;br /&gt;
    def __init__(self, A, B, C):&lt;br /&gt;
        BC = Punkt((B.getX()+C.getX())/2,(B.getY()+C.getY())/2)&lt;br /&gt;
        D = Punkt(BC.getX()+ (BC.getX() - A.getX()), BC.getY()+ (BC.getY() - A.getY()))&lt;br /&gt;
        super().__init__(A, B, D, C)&lt;br /&gt;
        self.__A = A&lt;br /&gt;
        self.__B = B&lt;br /&gt;
        self.__C = C&lt;br /&gt;
        #self.__D = D&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
    def pole(self):&lt;br /&gt;
        tr1 = Trojkat(self.__A, self.__B, self.__C)&lt;br /&gt;
#        tr2 = Trojkat(self.__D, self.__B, self.__C)&lt;br /&gt;
        return 2*tr1.pole()# + tr2.pole()&lt;br /&gt;
    &lt;br /&gt;
r = Rownoleglobok(p1, p2, p4)&lt;br /&gt;
#print(r)&lt;br /&gt;
#print(r.obwod())&lt;br /&gt;
#print(r.pole())&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 14&lt;br /&gt;
Napisz klasę „dziwnaLiczba”, która dziedziczy po klasie „int” (liczbach całkowitych). &lt;br /&gt;
„Dziwność” polega na tym, że przy dodawaniu dwóch obiektów klasy „dziwnaLiczba” &lt;br /&gt;
otrzymujemy „dziwnąLiczbę” będącą wynikiem mnożenia liczb im odpowiadających, &lt;br /&gt;
a przy mnożeniu dwóch „dziwnychLiczb” otrzymujemy „dziwnąLiczbę” będącą wynikiem dodawania liczb im odpowiadających. W skrócie, znaki mnożenia i dodawania są zamienione miejscami&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
class dziwnaLiczba(int):&lt;br /&gt;
    def __mul__(self, other):&lt;br /&gt;
        return dziwnaLiczba(super().__add__(other))&lt;br /&gt;
    &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        return dziwnaLiczba(super().__mul__(other))&lt;br /&gt;
    &lt;br /&gt;
a = dziwnaLiczba(3)&lt;br /&gt;
b = dziwnaLiczba(4)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k7&amp;diff=8378</id>
		<title>TI/Skrypty z zajęć/k7</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k7&amp;diff=8378"/>
		<updated>2020-06-02T13:24:57Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; aa &amp;lt;/source&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
aa&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz10-14&amp;diff=8377</id>
		<title>TI/Skrypty z zajęć/kz10-14</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz10-14&amp;diff=8377"/>
		<updated>2020-06-02T13:24:43Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; aa &amp;lt;/source&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
aa&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8376</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8376"/>
		<updated>2020-06-02T13:23:45Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k2|Klasy 2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k3|Klasy 3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz1-3|Klasy - zadania 1-3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k4|Klasy 4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz4-6|Klasy - zadania 4-6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5|Klasy 5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5a|Klasy 5a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz7-9|Klasy - zadania 7-9]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k6|Klasy 6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k6a|Klasy 6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz10-14|Klasy - zadania 10-14]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k7|Klasy 7]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k6&amp;diff=8375</id>
		<title>TI/Skrypty z zajęć/k6</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k6&amp;diff=8375"/>
		<updated>2020-05-27T19:51:27Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed May 27 11:11:31 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class CiagArytmetyczny():&lt;br /&gt;
    def __init__(self, a1, r):&lt;br /&gt;
        self.__a1 = float(a1)&lt;br /&gt;
        self.__r = float(r)&lt;br /&gt;
&lt;br /&gt;
    def __get_a1__(self):&lt;br /&gt;
        return self.__a1&lt;br /&gt;
&lt;br /&gt;
    def __get_r__(self):&lt;br /&gt;
        return self.__r&lt;br /&gt;
    &lt;br /&gt;
    def __set_a1__(self, a1):&lt;br /&gt;
        self.__a1 = float(a1)&lt;br /&gt;
&lt;br /&gt;
    def __set_r__(self, r):&lt;br /&gt;
        self.__r = float(r)&lt;br /&gt;
    &lt;br /&gt;
    a1 = property(__get_a1__,__set_a1__)&lt;br /&gt;
    r = property(__get_r__,__set_r__)&lt;br /&gt;
    &lt;br /&gt;
    def __getitem__(self,n):&lt;br /&gt;
        if isinstance(n,int):&lt;br /&gt;
            if (n &amp;gt; 0):&lt;br /&gt;
                return self.__a1 + (n-1)*self.__r&lt;br /&gt;
    &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        return CiagArytmetyczny(self.a1 + other.a1, self.r + other.r)&lt;br /&gt;
&lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'CiagArytmetyczny a1 = '+str(self.__a1)+' r = '+str(self.__r)&lt;br /&gt;
    &lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        return str(self)&lt;br /&gt;
    &lt;br /&gt;
z = CiagArytmetyczny(1,1)&lt;br /&gt;
x = CiagArytmetyczny(100,1)&lt;br /&gt;
&lt;br /&gt;
class CiagArytmetycznyZeSlownikiem(CiagArytmetyczny):&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, a1, r, sl = None):&lt;br /&gt;
        #self(ale potraktuj mnie jako obiekt klasy CiagAtrytmetyczny).__init__(a1,r)&lt;br /&gt;
        super().__init__(a1,r)&lt;br /&gt;
        self.__sl = sl&lt;br /&gt;
        if self.__sl==None:&lt;br /&gt;
            self.__sl = {}&lt;br /&gt;
        &lt;br /&gt;
    &lt;br /&gt;
    def __setitem__(self, key, value):&lt;br /&gt;
        self.__sl[key] = value&lt;br /&gt;
        &lt;br /&gt;
    @property&lt;br /&gt;
    def sl(self):&lt;br /&gt;
        return self.__sl.copy()&lt;br /&gt;
&lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'CiagArytmetycznyZeSlownikiem a1 = '+str(self.a1)+' r = '+str(self.r)+' oraz sl = '+ str(self.sl)&lt;br /&gt;
    &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        return CiagArytmetycznyZeSlownikiem(self.a1 + other.a1, self.r + other.r)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
y = CiagArytmetycznyZeSlownikiem(50,1)&lt;br /&gt;
&lt;br /&gt;
class CiagArytmetycznyR1(CiagArytmetyczny):&lt;br /&gt;
    def __init__(self, a1):&lt;br /&gt;
        super().__init__(a1,1)&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k6a&amp;diff=8374</id>
		<title>TI/Skrypty z zajęć/k6a</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k6a&amp;diff=8374"/>
		<updated>2020-05-27T19:50:32Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed May 27 11:50:27 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;   class rownoleglobok():     def __init__(self, a, b):...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed May 27 11:50:27 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class rownoleglobok():&lt;br /&gt;
    def __init__(self, a, b):&lt;br /&gt;
        print('wywolanie init z klasy rownoleglobok')&lt;br /&gt;
        self.__a = a&lt;br /&gt;
        self.__b = b&lt;br /&gt;
    &lt;br /&gt;
    @property    &lt;br /&gt;
    def a(self):&lt;br /&gt;
        return self.__a&lt;br /&gt;
    &lt;br /&gt;
    @property    &lt;br /&gt;
    def b(self):&lt;br /&gt;
        return self.__b&lt;br /&gt;
    &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'Rownoleglobok o bokach ' + str(self.__a) + ', ' + str(self.__b)&lt;br /&gt;
    &lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        return str(self)&lt;br /&gt;
&lt;br /&gt;
    @property    &lt;br /&gt;
    def obwod(self):&lt;br /&gt;
        return 2* (self.__a + self.__b)&lt;br /&gt;
&lt;br /&gt;
class prostokat(rownoleglobok):&lt;br /&gt;
#    def __init__(self, a, b):&lt;br /&gt;
#        print('wywolanie init z klasy prostokat')&lt;br /&gt;
#        super().__init__(a, b)&lt;br /&gt;
&lt;br /&gt;
    @property&lt;br /&gt;
    def pole(self):&lt;br /&gt;
        return self.a*self.b&lt;br /&gt;
    &lt;br /&gt;
#    def __str__(self):&lt;br /&gt;
#        return 'Jakis prostokat'&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
class kwadrat(prostokat):&lt;br /&gt;
    def __init__(self, a):&lt;br /&gt;
        print('wywolanie init z klasy kwadrat')&lt;br /&gt;
        super().__init__(a, a)&lt;br /&gt;
    &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return super().__str__() + ' ale bedacy kwadratem'&lt;br /&gt;
&lt;br /&gt;
k = kwadrat(5)&lt;br /&gt;
print(k)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k6&amp;diff=8373</id>
		<title>TI/Skrypty z zajęć/k6</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k6&amp;diff=8373"/>
		<updated>2020-05-27T19:48:43Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; a &amp;lt;/source&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
a&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8372</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8372"/>
		<updated>2020-05-27T19:47:51Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k2|Klasy 2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k3|Klasy 3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz1-3|Klasy - zadania 1-3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k4|Klasy 4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz4-6|Klasy - zadania 4-6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5|Klasy 5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5a|Klasy 5a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz7-9|Klasy - zadania 7-9]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k6|Klasy 6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k6a|Klasy 6a]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz7-9&amp;diff=8371</id>
		<title>TI/Skrypty z zajęć/kz7-9</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz7-9&amp;diff=8371"/>
		<updated>2020-05-26T10:50:53Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Tue May 26 11:12:02 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  ''' Zadanie 7 Napisze klasę InnyNawias. Konstruktor klasy pr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Tue May 26 11:12:02 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 7&lt;br /&gt;
Napisze klasę InnyNawias. Konstruktor klasy przyjmuje jeden parametr: &lt;br /&gt;
 jednoargumentową funkcję f. Zapisz otrzymaną funkcję w zmiennej prywatnej. &lt;br /&gt;
 Zaimplementuj metodę __getitem__(x), która ma zwracać f(x).&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
#zadanie 7&lt;br /&gt;
class InnyNawias():&lt;br /&gt;
    def __init__(self, f):&lt;br /&gt;
        self.__f = f&lt;br /&gt;
        &lt;br /&gt;
    def __getitem__(self, x):&lt;br /&gt;
        return self.__f(x)&lt;br /&gt;
&lt;br /&gt;
def fun(x):&lt;br /&gt;
    return x*x&lt;br /&gt;
&lt;br /&gt;
z = InnyNawias(fun)&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 8&lt;br /&gt;
Napisz klasę CiągArtymetyczny, która:&lt;br /&gt;
-przyjmuje w konstruktorze dwa argumenty a1 oraz r, które są pierwszym &lt;br /&gt;
elementem ciągu oraz różnicą ciągu. Zachowaj argumenty w zmiennych prywatnych,&lt;br /&gt;
 ale zapewnij do nich dostęp poprzez property.&lt;br /&gt;
-ma zaimplementowaną metodę __getitem__, która zwraca odpowiedni element ciągu&lt;br /&gt;
 (lub None, gdy jej argument nie jest liczbą naturalną)&lt;br /&gt;
- Ma zaimplementowaną metodę dodawania ciągów arytmetycznych&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#zadanie 8&lt;br /&gt;
class CiagArytmetyczny():&lt;br /&gt;
    def __init__(self, a1, r):&lt;br /&gt;
        self.__a1 = float(a1)&lt;br /&gt;
        self.__r = float(r)&lt;br /&gt;
&lt;br /&gt;
    def __get_a1__(self):&lt;br /&gt;
        return self.__a1&lt;br /&gt;
&lt;br /&gt;
    def __get_r__(self):&lt;br /&gt;
        return self.__r&lt;br /&gt;
    &lt;br /&gt;
    def __set_a1__(self, a1):&lt;br /&gt;
        self.__a1 = float(a1)&lt;br /&gt;
&lt;br /&gt;
    def __set_r__(self, r):&lt;br /&gt;
        self.__r = float(r)&lt;br /&gt;
    &lt;br /&gt;
    a1 = property(__get_a1__,__set_a1__)&lt;br /&gt;
    r = property(__get_r__,__set_r__)&lt;br /&gt;
    &lt;br /&gt;
    def __getitem__(self,n):&lt;br /&gt;
        if isinstance(n,int):&lt;br /&gt;
            if (n &amp;gt; 0):&lt;br /&gt;
                return self.__a1 + (n-1)*self.__r&lt;br /&gt;
    &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        return CiagArytmetyczny(self.a1 + other.a1, self.r + other.r)&lt;br /&gt;
&lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'CiagArytmetyczny a1 = '+str(self.__a1)+' r = '+str(self.__r)&lt;br /&gt;
    &lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        return str(self)&lt;br /&gt;
    &lt;br /&gt;
z = CiagArytmetyczny(1,1)&lt;br /&gt;
x = CiagArytmetyczny(100,1)&lt;br /&gt;
#print(x+z)&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 9&lt;br /&gt;
Napisz klasę CiągArytmetycznyZeSlownikiem, która dziedziczy po klasie &lt;br /&gt;
CiągArtymetyczny. Zaimplementuj w niej metodę __setitem__, która będzie&lt;br /&gt;
 zapisywać wywołane klucze i wartości do prywatnego słownika. &lt;br /&gt;
Klasa powinna zapewniać dostęp do tego słownika, ale bez możliwości jego edycji.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
class CiagArytmetycznyZeSlownikiem(CiagArytmetyczny):&lt;br /&gt;
      &lt;br /&gt;
    def __setitem__(self, key, value):&lt;br /&gt;
        if not ('_CiagArytmetycznyZeSlownikiem__sl' in dir(self)):&lt;br /&gt;
            self.__sl = {}&lt;br /&gt;
        self.__sl[key] = value&lt;br /&gt;
        &lt;br /&gt;
    @property&lt;br /&gt;
    def sl(self):&lt;br /&gt;
        if not ('_CiagArytmetycznyZeSlownikiem__sl' in dir(self)):&lt;br /&gt;
            self.__sl = {}&lt;br /&gt;
        return self.__sl.copy()&lt;br /&gt;
&lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'CiagArytmetycznyZeSlownikiem a1 = '+str(self.a1)+' r = '+str(self.r)&lt;br /&gt;
    &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        return CiagArytmetycznyZeSlownikiem(self.a1 + other.a1, self.r + other.r)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
y = CiagArytmetycznyZeSlownikiem(50,1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8370</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8370"/>
		<updated>2020-05-26T10:49:57Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k2|Klasy 2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k3|Klasy 3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz1-3|Klasy - zadania 1-3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k4|Klasy 4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz4-6|Klasy - zadania 4-6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5|Klasy 5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5a|Klasy 5a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz7-9|Klasy - zadania 7-9]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k5a&amp;diff=8353</id>
		<title>TI/Skrypty z zajęć/k5a</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k5a&amp;diff=8353"/>
		<updated>2020-05-20T22:19:52Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed May 20 11:56:29 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  class A():     def __nazwa(self):         return 'klasa A'...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed May 20 11:56:29 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class A():&lt;br /&gt;
    def __nazwa(self):&lt;br /&gt;
        return 'klasa A'&lt;br /&gt;
    &lt;br /&gt;
    def aa(self):&lt;br /&gt;
        print('jestem metoda aa z ' + self.__nazwa())&lt;br /&gt;
       &lt;br /&gt;
    def a(self):&lt;br /&gt;
        print('jestem metoda a z ' + self.__nazwa())&lt;br /&gt;
    &lt;br /&gt;
class B(A):&lt;br /&gt;
    def __nazwa(self):&lt;br /&gt;
        return 'klasa B'&lt;br /&gt;
    &lt;br /&gt;
    def bb(self):&lt;br /&gt;
        print('jestem metoda bb z ' + self.__nazwa())&lt;br /&gt;
        &lt;br /&gt;
    def aa(self):&lt;br /&gt;
        print('jestem metoda aa z ' + self.__nazwa())&lt;br /&gt;
    &lt;br /&gt;
#class C(A,B):&lt;br /&gt;
#    def cc(self):&lt;br /&gt;
#        print('jestem metoda cc z klasy C')&lt;br /&gt;
&lt;br /&gt;
a = A()&lt;br /&gt;
a.__c = 100&lt;br /&gt;
b = B()&lt;br /&gt;
#c = C()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k5&amp;diff=8352</id>
		<title>TI/Skrypty z zajęć/k5</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k5&amp;diff=8352"/>
		<updated>2020-05-20T22:18:40Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed May 20 11:17:56 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  class A():     def __str__(self):         return 'Jestem obie...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed May 20 11:17:56 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class A():&lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'Jestem obiektem klasy A'&lt;br /&gt;
    &lt;br /&gt;
    def __call__(self, *args):&lt;br /&gt;
        return 'Jestem metoda call wywolana z argumentami '+str(args)&lt;br /&gt;
    &lt;br /&gt;
    def __getitem__(self,index):&lt;br /&gt;
        return str(index)&lt;br /&gt;
    &lt;br /&gt;
    def __setitem__(self,ind,val):&lt;br /&gt;
        print('index =', ind, 'value =', val)&lt;br /&gt;
    &lt;br /&gt;
a = A()&lt;br /&gt;
&lt;br /&gt;
#a+b = a.__add__(b)&lt;br /&gt;
#a(x) = a.__call__(x)&lt;br /&gt;
#a[n] = a.__getitem__(x)&lt;br /&gt;
&lt;br /&gt;
class naszSlownik():&lt;br /&gt;
    def __init__(self,dic={}):&lt;br /&gt;
        self.__sl = dic.copy()&lt;br /&gt;
        &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'Nasz Slownik ' + str(self.__sl)&lt;br /&gt;
    &lt;br /&gt;
    def __getitem__(self,index):&lt;br /&gt;
        return self.__sl[index]&lt;br /&gt;
    &lt;br /&gt;
    def __setitem__(self,ind,val):&lt;br /&gt;
        if ind == 1:&lt;br /&gt;
            print('nie wolno Ci!!!')&lt;br /&gt;
            return None&lt;br /&gt;
        self.__sl[ind] = val&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
a = {1:2,2:3,3:4}&lt;br /&gt;
b = naszSlownik(a)&lt;br /&gt;
a[1] = 100&lt;br /&gt;
print(b)&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8351</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8351"/>
		<updated>2020-05-20T22:17:12Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k2|Klasy 2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k3|Klasy 3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz1-3|Klasy - zadania 1-3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k4|Klasy 4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz4-6|Klasy - zadania 4-6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5|Klasy 5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k5a|Klasy 5a]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz4-6&amp;diff=8350</id>
		<title>TI/Skrypty z zajęć/kz4-6</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz4-6&amp;diff=8350"/>
		<updated>2020-05-19T11:54:58Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Tue May 19 11:03:13 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  ''' Zadanie 4. Dopisz w klasie Wielomian (omawianej na zajęc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Tue May 19 11:03:13 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 4.&lt;br /&gt;
Dopisz w klasie Wielomian (omawianej na zajęciach) metodę &amp;quot;pochodna&amp;quot; &lt;br /&gt;
która zwraca Wielomian odpowiadający pochodnej danego Wielomianu (self).&lt;br /&gt;
&lt;br /&gt;
Zadanie 5.&lt;br /&gt;
Dopisz do klasy Wielomian metodę &amp;quot;calka&amp;quot; zwracającą Wielomian &lt;br /&gt;
(nazwijmy go chwilowo w) odpowiadający całce nieoznaczonej z danego Wielomianu. &lt;br /&gt;
Przyjmijmy w(0) = 0.&lt;br /&gt;
&lt;br /&gt;
Zadanie 6.&lt;br /&gt;
W klasie Wielomian zaimplementuj operator mnożenia wielomianów.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
import numpy as np&lt;br /&gt;
&lt;br /&gt;
class Wielomian():&lt;br /&gt;
    def __init__(self,*args):&lt;br /&gt;
        self.__a = args&lt;br /&gt;
        self.__n = len(args)&lt;br /&gt;
        &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        if self.__n&amp;gt;0:&lt;br /&gt;
            wynik = str(self.__a[0])&lt;br /&gt;
            for i in range(1,self.__n):&lt;br /&gt;
                wynik += ' + ' + str(self.__a[i]) + '*x^' + str(i)&lt;br /&gt;
            return wynik&lt;br /&gt;
        return '0'&lt;br /&gt;
    &lt;br /&gt;
    def __call__(self, x):&lt;br /&gt;
        return sum([self.__a[i] * x**i for i in range(self.__n)])&lt;br /&gt;
    &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        wynik = np.zeros(max(self.__n, other.__n))&lt;br /&gt;
        &lt;br /&gt;
        for i in range(self.__n):&lt;br /&gt;
            wynik[i] += self.__a[i]&lt;br /&gt;
        &lt;br /&gt;
        for i in range(other.__n):&lt;br /&gt;
            wynik[i] += other.__a[i]&lt;br /&gt;
        &lt;br /&gt;
        return Wielomian(*tuple(wynik))&lt;br /&gt;
    &lt;br /&gt;
    #Zadanie 4&lt;br /&gt;
    def pochodna(self):&lt;br /&gt;
        return Wielomian(*[i*self.__a[i] for i in range(1,self.__n)])&lt;br /&gt;
    &lt;br /&gt;
    #Zadanie 5&lt;br /&gt;
    def calka(self):&lt;br /&gt;
        return Wielomian(0,*[self.__a[i]/(i+1) for i in range(self.__n)])&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
#    def __mul__(self, other):&lt;br /&gt;
#        wynik = np.zeros(self.__n + other.__n - 1)&lt;br /&gt;
#        for i in range(self.__n):&lt;br /&gt;
#            for j in range(other.__n):&lt;br /&gt;
#                #(self.__a[i] * x^i )*(other.__a[j] * x^j ) = self.__a[i]*other.__a[j] * x^(i+j)&lt;br /&gt;
#                wynik[i+j] += self.__a[i]*other.__a[j]&lt;br /&gt;
#        return Wielomian(*wynik)&lt;br /&gt;
&lt;br /&gt;
    #Zadanie 6 - splot&lt;br /&gt;
    def __mul__(self, other):&lt;br /&gt;
        #print(np.outer(self.__a,other.__a))&lt;br /&gt;
        a = np.outer(self.__a,other.__a)[:,::-1]&lt;br /&gt;
        return Wielomian(*[a.trace(i) for i in range(other.__n-1,-self.__n,-1)]) #[2,1,0,-1]]&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
w1 = Wielomian(3,4)&lt;br /&gt;
w2 = Wielomian(2,1)&lt;br /&gt;
&lt;br /&gt;
#      (3  ,  4)&lt;br /&gt;
# (2)   6     8&lt;br /&gt;
# (1)   3     4&lt;br /&gt;
&lt;br /&gt;
#        6 + (3+8)* x^1 + 4 * x^2&lt;br /&gt;
&lt;br /&gt;
print(w1)&lt;br /&gt;
print(w2)&lt;br /&gt;
print(w2*w1)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
#w1 = Wielomian(1,20,3,4)&lt;br /&gt;
&lt;br /&gt;
#1 + 2*x^1 + 3*x^2 + 4*x^3 -&amp;gt;(1,20,3,4)&lt;br /&gt;
#                            (0,1,2,3)&lt;br /&gt;
#pochodna to:&lt;br /&gt;
#20*1 + 3*2*x^1 + 4*3*x^2 -&amp;gt; (20,6,12)&lt;br /&gt;
#&lt;br /&gt;
#calka to:                (a,b,c,d,e)&lt;br /&gt;
#                         (0,1,2,3,4)&lt;br /&gt;
&lt;br /&gt;
#                         (b,2*c,3*d,4*e) = (1,20,3,4)&lt;br /&gt;
# b=1, c=20/2 d = 3/3, e = 4/4  &lt;br /&gt;
# (0,1,10,1,1)                       &lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8349</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8349"/>
		<updated>2020-05-19T11:53:49Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k2|Klasy 2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k3|Klasy 3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz1-3|Klasy - zadania 1-3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k4|Klasy 4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz4-6|Klasy - zadania 4-6]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8348</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8348"/>
		<updated>2020-05-19T11:52:25Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k2|Klasy 2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k3|Klasy 3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz1-3|Klasy - zadania 1-3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k4|Klasy 4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz1-3|Klasy - zadania 4-6]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k4&amp;diff=8347</id>
		<title>TI/Skrypty z zajęć/k4</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k4&amp;diff=8347"/>
		<updated>2020-05-13T21:37:00Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed May 13 11:17:39 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot; import numpy as np  class Liniowa():     def __init__(self, a,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed May 13 11:17:39 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
import numpy as np&lt;br /&gt;
&lt;br /&gt;
class Liniowa():&lt;br /&gt;
    def __init__(self, a, b):&lt;br /&gt;
        self.__a = float(a)&lt;br /&gt;
        self.__b = float(b)&lt;br /&gt;
    &lt;br /&gt;
#    @property&lt;br /&gt;
#    def a(self):&lt;br /&gt;
#        return self.__a&lt;br /&gt;
#    &lt;br /&gt;
#    @property&lt;br /&gt;
#    def b(self):&lt;br /&gt;
#        return self.__b&lt;br /&gt;
        &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'Funkcja liniowa '+str(self.__a)+'*x+'+str(self.__b)&lt;br /&gt;
    &lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        return self.__str__()&lt;br /&gt;
    &lt;br /&gt;
    #print(f1) = print( str(f1) ) = print( f1.__str__() )&lt;br /&gt;
    #f1(x) = f1.__call__(x)&lt;br /&gt;
    &lt;br /&gt;
    def __call__(self, x):&lt;br /&gt;
        return self.__a*x + self.__b&lt;br /&gt;
    &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        return Liniowa(self.__a + other.__a, self.__b + other.__b)&lt;br /&gt;
    &lt;br /&gt;
    def __mul__(self, other):&lt;br /&gt;
        return Liniowa(self.__a * other.__b + self.__b * other.__a, self.__b*other.__b)&lt;br /&gt;
    &lt;br /&gt;
f1 = Liniowa(1,1)&lt;br /&gt;
f2 = Liniowa(2,2)&lt;br /&gt;
&lt;br /&gt;
#print(f1)&lt;br /&gt;
#print(f2)&lt;br /&gt;
&lt;br /&gt;
#Wielomian(a,b) = a+b*x&lt;br /&gt;
#Wielomian(a,b,c) = a+b*x+c*x^2&lt;br /&gt;
&lt;br /&gt;
class Wielomian():&lt;br /&gt;
    def __init__(self,*args):&lt;br /&gt;
        self.__a = args&lt;br /&gt;
        self.__n = len(args)&lt;br /&gt;
        &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        if self.__n&amp;gt;0:&lt;br /&gt;
            wynik = str(self.__a[0])&lt;br /&gt;
            for i in range(1,self.__n):&lt;br /&gt;
                wynik += ' + ' + str(self.__a[i]) + '*x^' + str(i)&lt;br /&gt;
            return wynik&lt;br /&gt;
        return '0'&lt;br /&gt;
    &lt;br /&gt;
    def __call__(self, x):&lt;br /&gt;
#        if self.__n&amp;gt;0:&lt;br /&gt;
#            wynik = self.__a[0]&lt;br /&gt;
#            for i in range(1,self.__n):&lt;br /&gt;
#                wynik += self.__a[i] * x**i&lt;br /&gt;
#            return wynik&lt;br /&gt;
#        return 0&lt;br /&gt;
        return sum([self.__a[i] * x**i for i in range(self.__n)])&lt;br /&gt;
    &lt;br /&gt;
    def __add__(self, other):&lt;br /&gt;
        wynik = np.zeros(max(self.__n, other.__n))&lt;br /&gt;
        &lt;br /&gt;
        for i in range(self.__n):&lt;br /&gt;
            wynik[i] += self.__a[i]&lt;br /&gt;
        &lt;br /&gt;
        for i in range(other.__n):&lt;br /&gt;
            wynik[i] += other.__a[i]&lt;br /&gt;
        &lt;br /&gt;
        return Wielomian(*tuple(wynik))&lt;br /&gt;
    &lt;br /&gt;
    def __mul__(self, other):&lt;br /&gt;
#      (3  ,  4)&lt;br /&gt;
# (2)   6     8&lt;br /&gt;
# (1)   3     4&lt;br /&gt;
&lt;br /&gt;
#        6 + (3+8)* x^1 + 4 * x^2&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        pass&lt;br /&gt;
    &lt;br /&gt;
w1 = Wielomian(3,4)&lt;br /&gt;
w2 = Wielomian(2,1)&lt;br /&gt;
&lt;br /&gt;
print(w1)&lt;br /&gt;
print(w2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz1-3&amp;diff=8346</id>
		<title>TI/Skrypty z zajęć/kz1-3</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz1-3&amp;diff=8346"/>
		<updated>2020-05-13T21:35:56Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Tue May 12 11:14:04 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  ''' Zadanie 1. Utwórz klasę Punkt1, która będzie służy...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Tue May 12 11:14:04 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Zadanie 1. Utwórz klasę Punkt1, która będzie służyła do reprezentowania punktu&lt;br /&gt;
na płaszczyźnie. Klasa powinna mieć dwa prywatne pola (współrzędne punktu), &lt;br /&gt;
konstruktor (chodzi o metodę __init__) oraz metody: get_x, get_y, set_x, set_y, &lt;br /&gt;
odlegloscOdZera (liczy odległość od zera), &lt;br /&gt;
nachylenie (współczynnik kierunkowy prostej przechodzącej przez zero i ten punkt), &lt;br /&gt;
__str__ (opis punktu postaci (x; y)).&lt;br /&gt;
&lt;br /&gt;
Zadanie 2. Utwórz klasę Punkt2, która jest kopią klasy Punkt1, &lt;br /&gt;
ale zamiast metod get_x, get_y, set_x, set_y posiada atrybuty x i y utworzone za pomocą property.&lt;br /&gt;
&lt;br /&gt;
Zadanie 3. Utwórz klasę Kwadrat. Obiekty tej klasy powinny: &lt;br /&gt;
    przechowywać długość boku kwadratu w postaci zmiennej prywatne &lt;br /&gt;
    ( ale zapewnić do niej dostęp beż możliwości zmiany wartości - dekorator property), &lt;br /&gt;
    posiadać reprezentację tekstową, posiadać metody zwracające pole i obwód kwadratu.'''&lt;br /&gt;
&lt;br /&gt;
class Punkt1():&lt;br /&gt;
    def __init__(self, x, y):&lt;br /&gt;
        self.__x = float(x)&lt;br /&gt;
        self.__y = float(y)&lt;br /&gt;
    &lt;br /&gt;
    def get_x(self):&lt;br /&gt;
        return self.__x&lt;br /&gt;
    &lt;br /&gt;
    def get_y(self):&lt;br /&gt;
        return self.__y&lt;br /&gt;
    &lt;br /&gt;
    def set_x(self,x):&lt;br /&gt;
        self.__x = float(x)&lt;br /&gt;
        &lt;br /&gt;
    def set_y(self,y):&lt;br /&gt;
        self.__y = float(y)&lt;br /&gt;
        &lt;br /&gt;
    def odlegloscOdZera(self):&lt;br /&gt;
        return (self.__x*self.__x+self.__y*self.__y)**(0.5)&lt;br /&gt;
    &lt;br /&gt;
    def nachylenie(self):&lt;br /&gt;
        return self.__y/self.__x&lt;br /&gt;
    &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return '('+str(self.__x)+'; '+str(self.__y)+')'&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
class Punkt2():&lt;br /&gt;
    def __init__(self, x, y):&lt;br /&gt;
        self.__x = float(x)&lt;br /&gt;
        self.__y = float(y)&lt;br /&gt;
    &lt;br /&gt;
    def __get_x(self):&lt;br /&gt;
        return self.__x&lt;br /&gt;
    &lt;br /&gt;
    def __get_y(self):&lt;br /&gt;
        return self.__y&lt;br /&gt;
    &lt;br /&gt;
    def __set_x(self,x):&lt;br /&gt;
        self.__x = float(x)&lt;br /&gt;
        &lt;br /&gt;
    def __set_y(self,y):&lt;br /&gt;
        self.__y = float(y)&lt;br /&gt;
    &lt;br /&gt;
    x = property(__get_x,__set_x)&lt;br /&gt;
    y = property(__get_y,__set_y)&lt;br /&gt;
    &lt;br /&gt;
    def odlegloscOdZera(self):&lt;br /&gt;
        return (self.__x*self.__x+self.__y*self.__y)**(0.5)&lt;br /&gt;
    &lt;br /&gt;
    def nachylenie(self):&lt;br /&gt;
        return self.__y/self.__x&lt;br /&gt;
    &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return '('+str(self.__x)+'; '+str(self.__y)+')'&lt;br /&gt;
    &lt;br /&gt;
class Kwadrat():&lt;br /&gt;
    def __init__(self, bok):&lt;br /&gt;
        self.__a = bok&lt;br /&gt;
        &lt;br /&gt;
    @property&lt;br /&gt;
    def bok(self):&lt;br /&gt;
        return self.__a&lt;br /&gt;
    &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'Kwadrat o boku '+str(self.bok)&lt;br /&gt;
    &lt;br /&gt;
    def obwod(self):&lt;br /&gt;
        return 4*self.__a&lt;br /&gt;
    &lt;br /&gt;
    def pole(self):&lt;br /&gt;
        return self.__a**2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class Punkt3():&lt;br /&gt;
    def __init__(self, x, y):&lt;br /&gt;
        self.__wsp = [float(x),float(y)]&lt;br /&gt;
    &lt;br /&gt;
    @property&lt;br /&gt;
    def wsp(self):&lt;br /&gt;
        return self.__wsp[:]&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8345</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8345"/>
		<updated>2020-05-13T18:25:25Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k2|Klasy 2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k3|Klasy 3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/kz1-3|Klasy - zadania 1-3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k4|Klasy 4]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k3&amp;diff=8341</id>
		<title>TI/Skrypty z zajęć/k3</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k3&amp;diff=8341"/>
		<updated>2020-05-06T15:00:09Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed May  6 10:53:01 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  class wektor2D():     def __init__(self, x ,y):         self....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed May  6 10:53:01 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class wektor2D():&lt;br /&gt;
    def __init__(self, x ,y):&lt;br /&gt;
        self.__x = int(x)&lt;br /&gt;
        self.__y = int(y)&lt;br /&gt;
        &lt;br /&gt;
    def __get_x(self):&lt;br /&gt;
        return self.__x&lt;br /&gt;
&lt;br /&gt;
    def __set_x(self,x):&lt;br /&gt;
        self.__x = int(x)&lt;br /&gt;
                &lt;br /&gt;
    x = property(__get_x, __set_x)&lt;br /&gt;
    &lt;br /&gt;
    def __get_y(self):&lt;br /&gt;
        return self.__y&lt;br /&gt;
    &lt;br /&gt;
    def __set_y(self,y):&lt;br /&gt;
        self.__y = int(y)&lt;br /&gt;
                &lt;br /&gt;
    y = property(__get_y, __set_y)&lt;br /&gt;
    &lt;br /&gt;
#    @property&lt;br /&gt;
#    def x(self):&lt;br /&gt;
#        return self.__x&lt;br /&gt;
    &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'wektor 2D: ' + str(self.__x) + ', ' + str(self.__y)&lt;br /&gt;
    &lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        return self.__str__()&lt;br /&gt;
    &lt;br /&gt;
    def __dlugosc(self):&lt;br /&gt;
        return ((self.__x)**2 + (self.__y)**2)**(0.5)&lt;br /&gt;
    &lt;br /&gt;
    def __abs__(self):&lt;br /&gt;
        return self.__dlugosc()&lt;br /&gt;
    &lt;br /&gt;
    def kwadratowa(self, x):&lt;br /&gt;
        return self.__x*x&lt;br /&gt;
    &lt;br /&gt;
    def mnozenie(self,mnoznik):&lt;br /&gt;
        self.__x = int(mnoznik) * self.__x&lt;br /&gt;
        self.__y = int(mnoznik) * self.__y&lt;br /&gt;
        &lt;br /&gt;
a = wektor2D(3,4)&lt;br /&gt;
print(a)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k2&amp;diff=8340</id>
		<title>TI/Skrypty z zajęć/k2</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k2&amp;diff=8340"/>
		<updated>2020-05-06T14:58:41Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed Apr 22 12:23:28 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  ''' klasa - pracownikUW     atrybuty: imie, nazwisko, wydzia...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Apr 22 12:23:28 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
klasa - pracownikUW&lt;br /&gt;
    atrybuty: imie, nazwisko, wydział&lt;br /&gt;
&lt;br /&gt;
objekt - TG jest obiektem klasy człowiek&lt;br /&gt;
    imie = 'Tomasz'&lt;br /&gt;
    nazwisko = 'Gubiec'&lt;br /&gt;
    wydział = 'Fizyki'&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
class pracownikUW():&lt;br /&gt;
    def __init__(self, imie, nazwisko, wydzial='Fizyki'): #inicjacja nowego obiektu, ustawianie wartosci zmiennych&lt;br /&gt;
        self.Imie = imie&lt;br /&gt;
        self.Nazwisko = nazwisko&lt;br /&gt;
        self.Wydzial = wydzial&lt;br /&gt;
        &lt;br /&gt;
    def __str__(self):&lt;br /&gt;
        return 'pracownik UW: ' + str(self.Imie) + ' ' + str(self.Nazwisko)&lt;br /&gt;
    &lt;br /&gt;
    def __repr__(self):&lt;br /&gt;
        return self.__str__() + ' z Wydziału ' + str(self.Wydzial)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#TG = pracownikUW # nowa nazwa 'TG' dla klasy prawcownikUW. TG - jest teraz klasa&lt;br /&gt;
TG = pracownikUW('Tomasz','Gubiec','Fizyki') # tworzy obiekt klasy pracownikUW o nazwie TG &lt;br /&gt;
JK = pracownikUW('Jan', 'Kowalski', 'Chemii')&lt;br /&gt;
&lt;br /&gt;
print(TG)&lt;br /&gt;
print(JK)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8339</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8339"/>
		<updated>2020-05-06T14:57:09Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k2|Klasy 2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k3|Klasy 3]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/9&amp;diff=8338</id>
		<title>TI/Skrypty z zajęć/9</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/9&amp;diff=8338"/>
		<updated>2020-04-29T11:10:22Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;  # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed Apr 29 11:31:12 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  ''' W tym zadaniu napiszemy automat komórkowy, który będz...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Apr 29 11:31:12 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
W tym zadaniu napiszemy automat komórkowy, który będzie bardzo uproszczonym modelem sterty piachu. &lt;br /&gt;
Automat działa na prostokątnej tablicy (przyjmijmy 100 na 100). Początkowo, każda z komórek przyjmuje &lt;br /&gt;
losową wartość ze zbioru [0,1,2,3]. Dynamika modelu jest następująca:&lt;br /&gt;
1. Losowo wybieramy jedną komórkę w tablicy i zwiększamy przechowywaną tam liczbę o jeden.&lt;br /&gt;
2. Mówimy że układ jest niestabilny, gdy gdziekolwiek w tablicy znajduje się wartość 4.&lt;br /&gt;
3. Jeżeli układ jest niestabilny, losowo wybieramy jedną z komórek z wartością 4. &lt;br /&gt;
    Zmieniamy jej wartość na 0, natomiast wartości sąsiadujących komórek (czterech, lub mniej jeżeli jesteśmy przy brzegu) &lt;br /&gt;
    zwiększamy o jeden.&lt;br /&gt;
4. Powtarzamy punkt 3 aż do momentu gdy układ jest stabilny (nie jest niestabilny). &lt;br /&gt;
    Liczymy ile razy trzeba było powtórzyć punkt 3 aby dojść do punktu 4 i zapisujemy tę liczbę (N) w oddzielnej liście.&lt;br /&gt;
Powtarzamy punkty 1-4 tysiąc razy. Zadanie polega na wykreśleniu histogramu z tysiąca liczb N odpowiadających kolejnym powtórzeniom. &lt;br /&gt;
Wykonaj animację ostatnich stu powtórzeń punktów 1-4.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
import numpy as np&lt;br /&gt;
import pylab as py&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import matplotlib.animation as animation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nx = 50+2&lt;br /&gt;
Ny = 50+2&lt;br /&gt;
&lt;br /&gt;
tab = np.random.randint(4, size = (Nx,Ny))&lt;br /&gt;
&lt;br /&gt;
def zerujBrzegi():&lt;br /&gt;
    global tab&lt;br /&gt;
    tab[0,:] = 0&lt;br /&gt;
    tab[-1,:] = 0&lt;br /&gt;
    tab[:,0] = 0&lt;br /&gt;
    tab[:,-1] = 0&lt;br /&gt;
zerujBrzegi()&lt;br /&gt;
Nki = []&lt;br /&gt;
klatki = []&lt;br /&gt;
&lt;br /&gt;
for i in range(1000):&lt;br /&gt;
    #punkt 1&lt;br /&gt;
    x = np.random.randint(1,Nx-1)&lt;br /&gt;
    y = np.random.randint(1,Ny-1)&lt;br /&gt;
    tab[x,y] +=1&lt;br /&gt;
    #punkt 3&lt;br /&gt;
    N = 0 #licznik powt&lt;br /&gt;
    while np.sum(tab&amp;gt;3):&lt;br /&gt;
        N += 1&lt;br /&gt;
        ktory = np.random.randint(np.sum(tab&amp;gt;3))&lt;br /&gt;
        punkty = np.nonzero(tab&amp;gt;3)&lt;br /&gt;
        x = punkty[0][ktory]&lt;br /&gt;
        y = punkty[1][ktory]&lt;br /&gt;
        tab[x,y] -= 4&lt;br /&gt;
        tab[x+1,y] += 1&lt;br /&gt;
        tab[x-1,y] += 1&lt;br /&gt;
        tab[x,y+1] += 1&lt;br /&gt;
        tab[x,y-1] += 1&lt;br /&gt;
        zerujBrzegi()&lt;br /&gt;
        if (i&amp;gt;900):&lt;br /&gt;
            klatki.append(np.copy(tab))&lt;br /&gt;
    Nki.append(N)&lt;br /&gt;
print(len(klatki))&lt;br /&gt;
&lt;br /&gt;
#print(Nki)&lt;br /&gt;
#py.hist(Nki)&lt;br /&gt;
&lt;br /&gt;
fig = plt.figure( figsize=(8,8) )&lt;br /&gt;
im = plt.imshow(tab, cmap=&amp;quot;Greys&amp;quot;)&lt;br /&gt;
def animuj(i):&lt;br /&gt;
    im.set_array(klatki[i])&lt;br /&gt;
    return [im] #magia tutaj!!!!&lt;br /&gt;
ani = animation.FuncAnimation(fig, animuj, frames = len(klatki), interval = 100)&lt;br /&gt;
plt.show()  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8337</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8337"/>
		<updated>2020-04-29T11:09:02Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/9|9 - sterta piachu]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/8&amp;diff=8336</id>
		<title>TI/Skrypty z zajęć/8</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/8&amp;diff=8336"/>
		<updated>2020-04-23T23:22:12Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Mon Apr 20 15:14:18 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot; import numpy as np import matplotlib.pyplot as plt import matp...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Mon Apr 20 15:14:18 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
import matplotlib.animation as animation&lt;br /&gt;
&lt;br /&gt;
R = np.zeros((11,18))&lt;br /&gt;
R[4:7,5:13]=1&lt;br /&gt;
R[5,6]=0&lt;br /&gt;
R[5,11]=0&lt;br /&gt;
&lt;br /&gt;
def step_a(a):&lt;br /&gt;
    result = np.zeros(a.shape)&lt;br /&gt;
    for x in range(a.shape[0]):&lt;br /&gt;
        for y in range(a.shape[1]):&lt;br /&gt;
            #liczenie sasiadow&lt;br /&gt;
            nei = np.sum(a[max(x-1,0):x+2,max(y-1,0):y+2])-a[x,y]&lt;br /&gt;
            if nei==3: result[x,y] = 1&lt;br /&gt;
            if nei==2: result[x,y] = a[x,y]&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
def animuj(i):&lt;br /&gt;
    global R&lt;br /&gt;
    R = step_a(R)&lt;br /&gt;
    im.set_array(R)&lt;br /&gt;
    return [im] #magia tutaj!!!!&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
fig = plt.figure( figsize=(8,8) )&lt;br /&gt;
im = plt.imshow(R, cmap=&amp;quot;Greys&amp;quot;)&lt;br /&gt;
ani = animation.FuncAnimation(fig, animuj, frames = 20, interval = 1000)&lt;br /&gt;
&lt;br /&gt;
plt.show()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/hanoi&amp;diff=8335</id>
		<title>TI/Skrypty z zajęć/hanoi</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/hanoi&amp;diff=8335"/>
		<updated>2020-04-23T23:21:50Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed Apr 22 10:19:10 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot; &amp;quot;&amp;quot;&amp;quot; Opis zagadnienia dostępny jest w załączonym nagraniu ze...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Apr 22 10:19:10 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Opis zagadnienia dostępny jest w załączonym nagraniu ze spotkania.&lt;br /&gt;
Należy napisać funkcję o nazwie &amp;quot;hanoi&amp;quot;, która jako parametry przyjmuje:&lt;br /&gt;
n - liczbę dysków do przeniesienia,&lt;br /&gt;
z - nazwę wieży z której przenosimy,&lt;br /&gt;
przez - nazwę wieży pośredniczącej,&lt;br /&gt;
do - nazwę wieży docelowej.&lt;br /&gt;
Funkcja ma wypisywać kolejność ruchów prowadzących do przeniesienia &amp;quot;n&amp;quot; dysków z wieży &amp;quot;z&amp;quot; do wieży &amp;quot;do&amp;quot;.&lt;br /&gt;
Przykład: hanoi(2, 'A' , 'B' , 'C' ) powinno wyświetlić:&lt;br /&gt;
&amp;quot;Przenieś dysk z A do B&lt;br /&gt;
Przenieś dysk z A do C&lt;br /&gt;
Przenieś dysk z B do C&amp;quot;&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
def hanoi(n, z, przez, do):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Przenieś (n-1) dysków z A do B przez C&lt;br /&gt;
        Przenieś dysk z A do C&lt;br /&gt;
        Przenieś (n-1) dysków z B do C przez A &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    if n&amp;gt;0:&lt;br /&gt;
        hanoi(n-1, z, do, przez)&lt;br /&gt;
        print('Przednies dysk z', z, 'do', do)&lt;br /&gt;
        hanoi(n-1, przez, z, do)&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
hanoi(7,'A','B','C')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k1&amp;diff=8334</id>
		<title>TI/Skrypty z zajęć/k1</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/k1&amp;diff=8334"/>
		<updated>2020-04-23T23:21:38Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed Apr 22 12:23:28 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  ''' klasa - pracownikUW     atrybuty: imie, nazwisko, wydzia...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Apr 22 12:23:28 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
klasa - pracownikUW&lt;br /&gt;
    atrybuty: imie, nazwisko, wydział&lt;br /&gt;
&lt;br /&gt;
objekt - TG jest obiektem klasy człowiek&lt;br /&gt;
    imie = 'Tomasz'&lt;br /&gt;
    nazwisko = 'Gubiec'&lt;br /&gt;
    wydział = 'Fizyki'&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
class pracownikUW():&lt;br /&gt;
    def __init__(self, imie, nazwisko, wydzial='Fizyki'): #inicjacja nowego obiektu, ustawianie wartosci zmiennych&lt;br /&gt;
        self.Imie = imie&lt;br /&gt;
        self.Nazwisko = nazwisko&lt;br /&gt;
        self.Wydzial = wydzial&lt;br /&gt;
&lt;br /&gt;
TG = pracownikUW # nowa nazwa 'TG' dla klasy prawcownikUW. TG - jest teraz klasa&lt;br /&gt;
TG = pracownikUW('Tomasz','Gubiec','Fizyki') # tworzy obiekt klasy pracownikUW o nazwie TG &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8333</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8333"/>
		<updated>2020-04-23T23:19:45Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/8|8 - gra w życie - animacja]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/hanoi|8 - wieze hanoi]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/k1|Klasy 1]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/7&amp;diff=8322</id>
		<title>TI/Skrypty z zajęć/7</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/7&amp;diff=8322"/>
		<updated>2020-04-15T13:40:06Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
• Żywa komórka, która ma mniej niż dwóch żywych sąsiadów umiera z „osamotnienia”&lt;br /&gt;
• Żywa komórka, która ma dwóch lub trzech żywych sąsiadów pozostaje żywa&lt;br /&gt;
• Żywa komórka, która ma więcej niż trzech żywych sąsiadów umiera z „przeludnienia”&lt;br /&gt;
• Każda martwa komórka z dokładnie trzema żywymi sąsiadami staje się żywa poprzez „reprodukcję”&lt;br /&gt;
'''&lt;br /&gt;
R = np.array([[0,0,0,0,0],[0,0,1,1,0],[0,1,1,0,0],[0,0,1,0,0],[0,0,0,0,0]])&lt;br /&gt;
#R = np.array([[0,0,0,0,0],[0,0,0,0,0],[0,1,1,1,0],[0,0,0,0,0],[0,0,0,0,0]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def step_a(a):&lt;br /&gt;
    result = np.zeros(a.shape)&lt;br /&gt;
    for x in range(a.shape[0]):&lt;br /&gt;
        for y in range(a.shape[1]):&lt;br /&gt;
            #liczenie sasiadow&lt;br /&gt;
            nei = np.sum(a[max(x-1,0):x+2,max(y-1,0):y+2])-a[x,y]&lt;br /&gt;
            if nei==3: result[x,y] = 1&lt;br /&gt;
            if nei==2: result[x,y] = a[x,y]&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
def step_b(a):&lt;br /&gt;
    result = np.zeros(a.shape)&lt;br /&gt;
    temp = np.zeros((a.shape[0]+2,a.shape[1]+2))&lt;br /&gt;
    temp[1:-1,1:-1] = a&lt;br /&gt;
    for x in range(a.shape[0]):&lt;br /&gt;
        for y in range(a.shape[1]):&lt;br /&gt;
            #liczenie sasiadow&lt;br /&gt;
            nei = np.sum(temp[x:x+3,y:y+3])-temp[x+1,y+1]&lt;br /&gt;
            if nei==3: result[x,y] = 1&lt;br /&gt;
            if nei==2: result[x,y] = a[x,y]&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
def step_c(a):&lt;br /&gt;
    neib = [(-1,-1),(-1,0),(-1,1),(1,-1),(1,0),(1,1),(0,-1),(0,1)]&lt;br /&gt;
    temp = np.zeros((a.shape[0]+2,a.shape[1]+2))&lt;br /&gt;
    temp[1:-1,1:-1] = a&lt;br /&gt;
&lt;br /&gt;
    result = np.zeros(a.shape)&lt;br /&gt;
    for x in range(a.shape[0]):&lt;br /&gt;
        for y in range(a.shape[1]):&lt;br /&gt;
            #liczenie sasiadow&lt;br /&gt;
            nei = np.sum([temp[1+x+xx,1+y+yy] for xx,yy in neib])&lt;br /&gt;
            if nei==3: result[x,y] = 1&lt;br /&gt;
            if nei==2: result[x,y] = a[x,y]&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for n in  range(15):&lt;br /&gt;
    plt.imshow(R, cmap=&amp;quot;Greys&amp;quot;)&lt;br /&gt;
    plt.show()&lt;br /&gt;
    R = step_c(R)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/7_sudoku&amp;diff=8321</id>
		<title>TI/Skrypty z zajęć/7 sudoku</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/7_sudoku&amp;diff=8321"/>
		<updated>2020-04-15T13:39:21Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed Apr 15 11:16:40 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  p = np.array([[0,0,6,0,3,0,7,0,8],               [0,3,0,0,0,0...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Apr 15 11:16:40 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
p = np.array([[0,0,6,0,3,0,7,0,8],&lt;br /&gt;
              [0,3,0,0,0,0,0,0,1],&lt;br /&gt;
              [2,0,0,0,0,0,6,0,0],&lt;br /&gt;
              [1,0,0,3,5,0,0,0,6],&lt;br /&gt;
              [0,7,9,0,4,0,1,5,0],&lt;br /&gt;
              [5,0,0,0,1,7,0,0,4],&lt;br /&gt;
              [0,0,2,0,0,0,0,0,7],&lt;br /&gt;
              [6,0,0,0,0,0,0,8,0],&lt;br /&gt;
              [4,0,7,0,6,0,2,0,0]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def rysuj(t):&lt;br /&gt;
    for i in range(9):&lt;br /&gt;
        tab=t[i]&lt;br /&gt;
        print(tab[0],tab[1],tab[2],'|',tab[3],tab[4],tab[5],'|',tab[6],tab[7],tab[8])&lt;br /&gt;
        if (i==2) or (i==5):&lt;br /&gt;
            print('------+-------+------')&lt;br /&gt;
    print()&lt;br /&gt;
            &lt;br /&gt;
def Sudoku_tester(tab,x,y,n):&lt;br /&gt;
    if tab[x,y]!=0: return False&lt;br /&gt;
    if (n in tab[x,:]): return False&lt;br /&gt;
    if (n in tab[:,y]): return False&lt;br /&gt;
    if (n in tab[3*(x//3):3*(x//3)+3,3*(y//3):3*(y//3)+3]): return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
def sudoku(tab):&lt;br /&gt;
    for x in range(9):&lt;br /&gt;
        for y in range(9):&lt;br /&gt;
            if tab[x,y]==0:&lt;br /&gt;
                for n in range(1,10):&lt;br /&gt;
                    if Sudoku_tester(tab,x,y,n):&lt;br /&gt;
                        tab[x,y]=n&lt;br /&gt;
                        sudoku(tab)&lt;br /&gt;
                        tab[x,y]=0&lt;br /&gt;
                return&lt;br /&gt;
    rysuj(tab)&lt;br /&gt;
    return&lt;br /&gt;
&lt;br /&gt;
sudoku(p)&lt;br /&gt;
&lt;br /&gt;
#rysuj(p)&lt;br /&gt;
#for n in range(1,10):&lt;br /&gt;
#    print(n, Sudoku_tester(p,3,5,n))&lt;br /&gt;
    &lt;br /&gt;
#def silnia(n):&lt;br /&gt;
#    if n==0: return 1&lt;br /&gt;
#    return n*silnia(n-1)&lt;br /&gt;
#&lt;br /&gt;
#print(silnia(200))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/7&amp;diff=8320</id>
		<title>TI/Skrypty z zajęć/7</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/7&amp;diff=8320"/>
		<updated>2020-04-15T13:38:42Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; &amp;lt;/source&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8319</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8319"/>
		<updated>2020-04-15T13:37:40Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7|7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku|7 - sudoku]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8318</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8318"/>
		<updated>2020-04-15T13:37:01Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7/7 - gra w życie]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7_sudoku/7 - sudoku]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8317</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8317"/>
		<updated>2020-04-15T13:36:16Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7 - gra w życie|7]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/7 - sudoku|7_sudoku]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/6a&amp;diff=8309</id>
		<title>TI/Skrypty z zajęć/6a</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/6a&amp;diff=8309"/>
		<updated>2020-04-02T08:27:34Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed Apr  1 12:13:20 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  # import numpy as np import pylab as py N=50  def wolfram(r):...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Apr  1 12:13:20 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
import numpy as np&lt;br /&gt;
import pylab as py&lt;br /&gt;
N=50&lt;br /&gt;
&lt;br /&gt;
def wolfram(r):&lt;br /&gt;
    rule = [int(char) for char in format(r, 'b').zfill(8)]&lt;br /&gt;
    p = np.zeros((N,N))&lt;br /&gt;
    p[0,N//2] = 1&lt;br /&gt;
    for t in range(1,N):&lt;br /&gt;
        for x in range(N):&lt;br /&gt;
            #sasiedztwo komórki x w chwili t-1&lt;br /&gt;
            nei = [p[t-1,N-1] if x==0 else p[t-1,x-1], p[t-1,x],p[t-1,0] if x==N-1 else p[t-1,x+1]]&lt;br /&gt;
            &lt;br /&gt;
            #przypisanie nowego stanu komórki x w chwili t na podstawie nei&lt;br /&gt;
            #przykład nei=[1,1,0] -&amp;gt; odpowiada temu liczba 6 -&amp;gt; rule[7-6]&lt;br /&gt;
            p[t,x]= rule[7-int(4*nei[0]+2*nei[1]+nei[2])]&lt;br /&gt;
            &lt;br /&gt;
    return p&lt;br /&gt;
&lt;br /&gt;
#pusty obrazek&lt;br /&gt;
image=np.zeros((16*N,16*N))&lt;br /&gt;
&lt;br /&gt;
#wypelnianie obrazka&lt;br /&gt;
for x in range(16):&lt;br /&gt;
    for y in range(16):&lt;br /&gt;
        image[N*x:N*x+N,N*y:N*y+N] = wolfram(y*16+x)&lt;br /&gt;
        &lt;br /&gt;
py.imshow(image, interpolation='nearest',cmap='Greys')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/6&amp;diff=8308</id>
		<title>TI/Skrypty z zajęć/6</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/6&amp;diff=8308"/>
		<updated>2020-04-02T08:26:43Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed Apr  1 10:18:35 2020  @author: Tomek &amp;quot;&amp;quot;&amp;quot;  import numpy as np import random   plansza = np.zeros((3,3))...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Apr  1 10:18:35 2020&lt;br /&gt;
&lt;br /&gt;
@author: Tomek&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
import numpy as np&lt;br /&gt;
import random&lt;br /&gt;
 &lt;br /&gt;
plansza = np.zeros((3,3))&lt;br /&gt;
plansza[0,0] = 1&lt;br /&gt;
plansza[2,2] = 2&lt;br /&gt;
 &lt;br /&gt;
def rysuj(plansza):&lt;br /&gt;
    kreska = ('---+'*plansza.shape[1])[:-1]&lt;br /&gt;
    def znak(z):&lt;br /&gt;
        if z == 1: return ' O '&lt;br /&gt;
        if z == 2: return ' X '&lt;br /&gt;
        return '   '&lt;br /&gt;
    for i in range(plansza.shape[0]):&lt;br /&gt;
        print('|'.join([znak(liczba) for liczba in plansza[i,:]]))&lt;br /&gt;
        if (i&amp;lt;plansza.shape[0]-1): print(kreska)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#vec to jednowymiarowa tablica&lt;br /&gt;
def sprawdz_linie(vec):&lt;br /&gt;
    #gdy vec ma same jedynki zwraca 1&lt;br /&gt;
    #gdy vec ma same dwojki zwraca 2&lt;br /&gt;
    # w pozostałych przypadkach zwraca 0&lt;br /&gt;
    for i in [1,2]:&lt;br /&gt;
        if np.count_nonzero(vec-i) == 0: return i&lt;br /&gt;
    return 0&lt;br /&gt;
 &lt;br /&gt;
def sprawdz_czy_dwa_identyczne_i_zero(vec,gracz):&lt;br /&gt;
    if (sum(vec==0)==1) and (sum(vec==gracz)==2):&lt;br /&gt;
        return (np.argwhere(vec==0))[0][0]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
def czy_koniec():&lt;br /&gt;
    global plansza&lt;br /&gt;
    if (len(plansza.flatten())-np.count_nonzero(plansza)) == 0:&lt;br /&gt;
        return 'REMIS'&lt;br /&gt;
 &lt;br /&gt;
    wyniki=[]&lt;br /&gt;
    for j in range(len(plansza)):&lt;br /&gt;
        wyniki.append(sprawdz_linie(plansza[j,:]))&lt;br /&gt;
        wyniki.append(sprawdz_linie(plansza[:,j]))&lt;br /&gt;
    wyniki.append(sprawdz_linie(np.diag(plansza)))&lt;br /&gt;
    wyniki.append(sprawdz_linie(np.diag(plansza[:,::-1])))&lt;br /&gt;
 &lt;br /&gt;
    wynik=max(wyniki)&lt;br /&gt;
    if wynik:&lt;br /&gt;
        return 'wygral gracz '+str(wynik)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
def ruch_losowy():&lt;br /&gt;
    global plansza&lt;br /&gt;
    mozliwe_ruchy=[]&lt;br /&gt;
    for x in range(plansza.shape[0]):&lt;br /&gt;
        for y in range(plansza.shape[1]):&lt;br /&gt;
            if plansza[x,y]==0: mozliwe_ruchy.append((x,y))&lt;br /&gt;
    ruch=random.choice(mozliwe_ruchy)&lt;br /&gt;
    plansza[ruch[0],ruch[1]]=2&lt;br /&gt;
 &lt;br /&gt;
def ofensywa(gracz):&lt;br /&gt;
    global plansza&lt;br /&gt;
    &lt;br /&gt;
    #po wierszach&lt;br /&gt;
    for j in range(len(plansza)):&lt;br /&gt;
        wynik = sprawdz_czy_dwa_identyczne_i_zero(plansza[j,:],gracz)&lt;br /&gt;
        if wynik!=None:&lt;br /&gt;
            plansza[j,wynik]=2&lt;br /&gt;
            return True&lt;br /&gt;
    &lt;br /&gt;
    #po kolumnach&lt;br /&gt;
    for j in range(len(plansza)):&lt;br /&gt;
        wynik = sprawdz_czy_dwa_identyczne_i_zero(plansza[:,j],gracz)&lt;br /&gt;
        if wynik!=None:&lt;br /&gt;
            plansza[wynik,j]=2&lt;br /&gt;
            return True&lt;br /&gt;
    &lt;br /&gt;
    #diagonala&lt;br /&gt;
    wynik = sprawdz_czy_dwa_identyczne_i_zero(np.diag(plansza),gracz)&lt;br /&gt;
    if wynik!=None:&lt;br /&gt;
        plansza[wynik,wynik]=2&lt;br /&gt;
        return True&lt;br /&gt;
    &lt;br /&gt;
    #antydiagonala&lt;br /&gt;
    wynik = sprawdz_czy_dwa_identyczne_i_zero(np.diag(plansza[:,::-1]),gracz)&lt;br /&gt;
    if wynik!=None:&lt;br /&gt;
        plansza[wynik,plansza.shape[0]-1-wynik]=2&lt;br /&gt;
        return True&lt;br /&gt;
    return False&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
def ruch_komputera():&lt;br /&gt;
    czy_byl_ruch = False&lt;br /&gt;
    czy_byl_ruch = ofensywa(2)&lt;br /&gt;
    if czy_byl_ruch==False: czy_byl_ruch = ofensywa(1)&lt;br /&gt;
    if czy_byl_ruch==False: ruch_losowy()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
while True:&lt;br /&gt;
    &lt;br /&gt;
    #rysujemy plansze&lt;br /&gt;
    rysuj(plansza)&lt;br /&gt;
 &lt;br /&gt;
    #ruch gracza i&lt;br /&gt;
    while True:&lt;br /&gt;
        x = int(input('graczu podaj wspolrzedna x:'))&lt;br /&gt;
        y = int(input('graczu podaj wspolrzedna y:'))&lt;br /&gt;
        if (plansza[x,y] == 0): break&lt;br /&gt;
    plansza[x,y] = 1&lt;br /&gt;
    &lt;br /&gt;
    #sprawdzanie warunku konca&lt;br /&gt;
    if czy_koniec():&lt;br /&gt;
        print(czy_koniec())&lt;br /&gt;
        break&lt;br /&gt;
    &lt;br /&gt;
    #ruch komputera&lt;br /&gt;
    ruch_komputera()&lt;br /&gt;
    &lt;br /&gt;
    #sprawdzanie warunku konca&lt;br /&gt;
    if czy_koniec():&lt;br /&gt;
        print(czy_koniec())&lt;br /&gt;
        break&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/souce&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8307</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8307"/>
		<updated>2020-04-02T08:25:39Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6|6]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/6a|6a]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/5&amp;diff=8290</id>
		<title>TI/Skrypty z zajęć/5</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/5&amp;diff=8290"/>
		<updated>2020-03-10T13:06:23Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; #!/usr/bin/env python3 # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Tue Mar 10 12:47:27 2020  @author: tgub &amp;quot;&amp;quot;&amp;quot; import numpy as np import random  plansz...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python3&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Tue Mar 10 12:47:27 2020&lt;br /&gt;
&lt;br /&gt;
@author: tgub&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
import numpy as np&lt;br /&gt;
import random&lt;br /&gt;
&lt;br /&gt;
plansza = np.zeros((3,3))&lt;br /&gt;
plansza[0,0] = 1&lt;br /&gt;
plansza[2,2] = 2&lt;br /&gt;
&lt;br /&gt;
def rysuj(plansza):&lt;br /&gt;
    kreska = ('---+'*plansza.shape[1])[:-1]&lt;br /&gt;
    def znak(z):&lt;br /&gt;
        if z == 1: return ' O '&lt;br /&gt;
        if z == 2: return ' X '&lt;br /&gt;
        return '   '&lt;br /&gt;
    for i in range(plansza.shape[0]):&lt;br /&gt;
        print('|'.join([znak(liczba) for liczba in plansza[i,:]]))&lt;br /&gt;
        if (i&amp;lt;plansza.shape[0]-1): print(kreska)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#vec to jednowymiarowa tablica&lt;br /&gt;
def sprawdz_linie(vec):&lt;br /&gt;
    #gdy vec ma same jedynki zwraca 1&lt;br /&gt;
    #gdy vec ma same dwojki zwraca 2&lt;br /&gt;
    # w pozostałych przypadkach zwraca 0&lt;br /&gt;
    for i in [1,2]:&lt;br /&gt;
        if np.count_nonzero(vec-i) == 0: return i&lt;br /&gt;
    return 0&lt;br /&gt;
&lt;br /&gt;
def sprawdz_czy_dwa_identyczne_i_zero(vec,gracz):&lt;br /&gt;
    if (sum(vec==0)==1) and (sum(vec==gracz)==2):&lt;br /&gt;
        return (np.argwhere(vec==0))[0][0]&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
def czy_koniec():&lt;br /&gt;
    global plansza&lt;br /&gt;
    if (len(plansza.flatten())-np.count_nonzero(plansza)) == 0:&lt;br /&gt;
        return 'REMIS'&lt;br /&gt;
    &lt;br /&gt;
    wyniki=[]&lt;br /&gt;
    for j in range(len(plansza)):&lt;br /&gt;
        wyniki.append(sprawdz_linie(plansza[j,:]))&lt;br /&gt;
        wyniki.append(sprawdz_linie(plansza[:,j]))&lt;br /&gt;
    wyniki.append(sprawdz_linie(np.diag(plansza)))&lt;br /&gt;
    wyniki.append(sprawdz_linie(np.diag(plansza[:,::-1])))&lt;br /&gt;
    &lt;br /&gt;
    wynik=max(wyniki)&lt;br /&gt;
    if wynik:&lt;br /&gt;
        return 'wygral gracz '+str(wynik)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def ruch_losowy():&lt;br /&gt;
    global plansza&lt;br /&gt;
    mozliwe_ruchy=[]&lt;br /&gt;
    for x in range(plansza.shape[0]):&lt;br /&gt;
        for y in range(plansza.shape[1]):&lt;br /&gt;
            if plansza[x,y]==0: mozliwe_ruchy.append((x,y))&lt;br /&gt;
    ruch=random.choice(mozliwe_ruchy)&lt;br /&gt;
    plansza[ruch[0],ruch[1]]=2&lt;br /&gt;
    &lt;br /&gt;
def ofensywa(gracz):&lt;br /&gt;
    global plansza&lt;br /&gt;
    #po wierszach&lt;br /&gt;
    for j in range(len(plansza)):&lt;br /&gt;
        wynik = sprawdz_czy_dwa_identyczne_i_zero(plansza[j,:],gracz)&lt;br /&gt;
        if wynik:&lt;br /&gt;
            plansza[j,wynik]=2&lt;br /&gt;
            return True&lt;br /&gt;
    #po kolumnach&lt;br /&gt;
    for j in range(len(plansza)):&lt;br /&gt;
        wynik = sprawdz_czy_dwa_identyczne_i_zero(plansza[:,j],gracz)&lt;br /&gt;
        if wynik:&lt;br /&gt;
            plansza[wynik,j]=2&lt;br /&gt;
            return True&lt;br /&gt;
    #diagonala&lt;br /&gt;
    wynik = sprawdz_czy_dwa_identyczne_i_zero(np.diag(plansza),gracz)&lt;br /&gt;
    if wynik:&lt;br /&gt;
        plansza[wynik,wynik]=2&lt;br /&gt;
        return True&lt;br /&gt;
    #antydiagonala&lt;br /&gt;
    wynik = sprawdz_czy_dwa_identyczne_i_zero(np.diag(plansza[:,::-1]),gracz)&lt;br /&gt;
    if wynik:&lt;br /&gt;
        plansza[wynik,plansza.shape[0]-1-wynik]=2&lt;br /&gt;
        return True&lt;br /&gt;
    return False&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def ruch_komputera():&lt;br /&gt;
    czy_byl_ruch = False&lt;br /&gt;
    czy_byl_ruch = ofensywa(2)&lt;br /&gt;
    if czy_byl_ruch==False: ruch_losowy()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    #rysujemy plansze&lt;br /&gt;
    rysuj(plansza)&lt;br /&gt;
    &lt;br /&gt;
    #ruch gracza i&lt;br /&gt;
    while True:&lt;br /&gt;
        x = int(input('graczu podaj wspolrzedna x:'))&lt;br /&gt;
        y = int(input('graczu podaj wspolrzedna y:'))&lt;br /&gt;
        if (plansza[x,y] == 0): break&lt;br /&gt;
    plansza[x,y] = 1&lt;br /&gt;
    if czy_koniec():&lt;br /&gt;
        print(czy_koniec())&lt;br /&gt;
        break&lt;br /&gt;
    ruch_komputera()&lt;br /&gt;
    if czy_koniec():&lt;br /&gt;
        print(czy_koniec())&lt;br /&gt;
        break&lt;br /&gt;
    &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8289</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8289"/>
		<updated>2020-03-10T13:05:51Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/5|5]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/4&amp;diff=8279</id>
		<title>TI/Skrypty z zajęć/4</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/4&amp;diff=8279"/>
		<updated>2020-03-04T11:53:27Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python3&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Mar  4 10:17:21 2020&lt;br /&gt;
&lt;br /&gt;
@author: tgub&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
import numpy as np&lt;br /&gt;
&lt;br /&gt;
#a = np.array(range(9)).reshape((3,3))&lt;br /&gt;
#print(a)&lt;br /&gt;
#&lt;br /&gt;
#s = 0&lt;br /&gt;
#for i in range(a.shape[0]):&lt;br /&gt;
#    s += a[0,i]*a[1,i]&lt;br /&gt;
#print(s)&lt;br /&gt;
#&lt;br /&gt;
#print(np.dot(a[1,:],a[0,:]))&lt;br /&gt;
&lt;br /&gt;
#poczatek k i k&lt;br /&gt;
plansza = np.zeros((3,3))&lt;br /&gt;
plansza[0,0] = 1&lt;br /&gt;
plansza[2,2] = 2&lt;br /&gt;
&lt;br /&gt;
def rysuj(plansza):&lt;br /&gt;
    kreska = ('---+'*plansza.shape[1])[:-1]&lt;br /&gt;
    def znak(z):&lt;br /&gt;
        if z == 1: return ' O '&lt;br /&gt;
        if z == 2: return ' X '&lt;br /&gt;
        return '   '&lt;br /&gt;
    for i in range(plansza.shape[0]):&lt;br /&gt;
        print('|'.join([znak(liczba) for liczba in plansza[i,:]]))&lt;br /&gt;
        if (i&amp;lt;plansza.shape[0]-1): print(kreska)&lt;br /&gt;
&lt;br /&gt;
rysuj(plansza)&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
 O |   | &lt;br /&gt;
---+---+---&lt;br /&gt;
   | X | &lt;br /&gt;
---+---+---&lt;br /&gt;
   |   | &lt;br /&gt;
'''&lt;br /&gt;
'''&lt;br /&gt;
#schemat gry&lt;br /&gt;
while 'sa wolne pola':&lt;br /&gt;
    #ruch gracza i&lt;br /&gt;
    while 'nie mam wspolrzednych wolnego pola':&lt;br /&gt;
        'podaj wspolrzedne'&lt;br /&gt;
    'wstaw znak'&lt;br /&gt;
    rysuj(plansza)&lt;br /&gt;
    'zmien gracza'&lt;br /&gt;
print('KONIEC GRY')&lt;br /&gt;
&lt;br /&gt;
#schemat gry&lt;br /&gt;
i=1&lt;br /&gt;
while (len(plansza.flatten())-np.count_nonzero(plansza)):&lt;br /&gt;
    #rysujemy plansze&lt;br /&gt;
    rysuj(plansza)&lt;br /&gt;
    &lt;br /&gt;
    #ruch gracza i&lt;br /&gt;
    while True:&lt;br /&gt;
        x = int(input('graczu '+str(i)+' podaj wspolrzedna x:'))&lt;br /&gt;
        y = int(input('graczu '+str(i)+' podaj wspolrzedna y:'))&lt;br /&gt;
        if (plansza[x,y] == 0): break&lt;br /&gt;
    plansza[x,y] = i&lt;br /&gt;
    &lt;br /&gt;
    #zmien gracza&lt;br /&gt;
    i = 1 + i%2&lt;br /&gt;
&lt;br /&gt;
print('KONIEC GRY')&lt;br /&gt;
'''&lt;br /&gt;
#vec to jednowymiarowa tablica&lt;br /&gt;
def sprawdz_linie(vec):&lt;br /&gt;
    #gdy vec ma same jedynki zwraca 1&lt;br /&gt;
    #gdy vec ma same dwojki zwraca 2&lt;br /&gt;
    # w pozostałych przypadkach zwraca 0&lt;br /&gt;
    for i in [1,2]:&lt;br /&gt;
        if np.count_nonzero(vec-i) == 0: return i&lt;br /&gt;
    return 0&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
i=1&lt;br /&gt;
while True:&lt;br /&gt;
    #rysujemy plansze&lt;br /&gt;
    rysuj(plansza)&lt;br /&gt;
    &lt;br /&gt;
    #ruch gracza i&lt;br /&gt;
    while True:&lt;br /&gt;
        x = int(input('graczu '+str(i)+' podaj wspolrzedna x:'))&lt;br /&gt;
        y = int(input('graczu '+str(i)+' podaj wspolrzedna y:'))&lt;br /&gt;
        if (plansza[x,y] == 0): break&lt;br /&gt;
    plansza[x,y] = i&lt;br /&gt;
    &lt;br /&gt;
    if (len(plansza.flatten())-np.count_nonzero(plansza)) == 0:&lt;br /&gt;
        print('REMIS')&lt;br /&gt;
        break&lt;br /&gt;
    &lt;br /&gt;
    wyniki=[]&lt;br /&gt;
    for j in range(len(plansza)):&lt;br /&gt;
        wyniki.append(sprawdz_linie(plansza[j,:]))&lt;br /&gt;
        wyniki.append(sprawdz_linie(plansza[:,j]))&lt;br /&gt;
    wyniki.append(sprawdz_linie(np.diag(plansza)))&lt;br /&gt;
    wyniki.append(sprawdz_linie(np.diag(plansza[:,::-1])))&lt;br /&gt;
    &lt;br /&gt;
    wynik=max(wyniki)&lt;br /&gt;
    if wynik:&lt;br /&gt;
        print('wygral gracz '+str(wynik))&lt;br /&gt;
        break&lt;br /&gt;
    &lt;br /&gt;
    #zmien gracza&lt;br /&gt;
    i = 1 + i%2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/4&amp;diff=8278</id>
		<title>TI/Skrypty z zajęć/4</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/4&amp;diff=8278"/>
		<updated>2020-03-04T11:24:29Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python3&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Mar  4 10:17:21 2020&lt;br /&gt;
&lt;br /&gt;
@author: tgub&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
import numpy as np&lt;br /&gt;
&lt;br /&gt;
#a = np.array(range(9)).reshape((3,3))&lt;br /&gt;
#print(a)&lt;br /&gt;
#&lt;br /&gt;
#s = 0&lt;br /&gt;
#for i in range(a.shape[0]):&lt;br /&gt;
#    s += a[0,i]*a[1,i]&lt;br /&gt;
#print(s)&lt;br /&gt;
#&lt;br /&gt;
#print(np.dot(a[1,:],a[0,:]))&lt;br /&gt;
&lt;br /&gt;
#poczatek k i k&lt;br /&gt;
plansza = np.zeros((3,3))&lt;br /&gt;
plansza[0,0] = 1&lt;br /&gt;
plansza[2,2] = 2&lt;br /&gt;
&lt;br /&gt;
def rysuj(plansza):&lt;br /&gt;
    kreska = ('---+'*plansza.shape[1])[:-1]&lt;br /&gt;
    def znak(z):&lt;br /&gt;
        if z == 1: return ' O '&lt;br /&gt;
        if z == 2: return ' X '&lt;br /&gt;
        return '   '&lt;br /&gt;
    for i in range(plansza.shape[0]):&lt;br /&gt;
        print('|'.join([znak(liczba) for liczba in plansza[i,:]]))&lt;br /&gt;
        if (i&amp;lt;plansza.shape[0]-1): print(kreska)&lt;br /&gt;
&lt;br /&gt;
rysuj(plansza)&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
 O |   | &lt;br /&gt;
---+---+---&lt;br /&gt;
   | X | &lt;br /&gt;
---+---+---&lt;br /&gt;
   |   | &lt;br /&gt;
'''&lt;br /&gt;
'''&lt;br /&gt;
#schemat gry&lt;br /&gt;
while 'sa wolne pola':&lt;br /&gt;
    #ruch gracza i&lt;br /&gt;
    while 'nie mam wspolrzednych wolnego pola':&lt;br /&gt;
        'podaj wspolrzedne'&lt;br /&gt;
    'wstaw znak'&lt;br /&gt;
    rysuj(plansza)&lt;br /&gt;
    'zmien gracza'&lt;br /&gt;
print('KONIEC GRY')&lt;br /&gt;
'''&lt;br /&gt;
#schemat gry&lt;br /&gt;
i=1&lt;br /&gt;
while (len(plansza.flatten())-np.count_nonzero(plansza)):&lt;br /&gt;
    #rysujemy plansze&lt;br /&gt;
    rysuj(plansza)&lt;br /&gt;
    &lt;br /&gt;
    #ruch gracza i&lt;br /&gt;
    while True:&lt;br /&gt;
        x = int(input('graczu '+str(i)+' podaj wspolrzedna x:'))&lt;br /&gt;
        y = int(input('graczu '+str(i)+' podaj wspolrzedna y:'))&lt;br /&gt;
        if (plansza[x,y] == 0): break&lt;br /&gt;
    plansza[x,y] = i&lt;br /&gt;
    &lt;br /&gt;
    #zmien gracza&lt;br /&gt;
    i = 1 + i%2&lt;br /&gt;
&lt;br /&gt;
print('KONIEC GRY')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/4&amp;diff=8277</id>
		<title>TI/Skrypty z zajęć/4</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/4&amp;diff=8277"/>
		<updated>2020-03-04T10:41:27Z</updated>

		<summary type="html">&lt;p&gt;Tgub: Utworzono nową stronę &amp;quot;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; #!/usr/bin/env python3 # -*- coding: utf-8 -*- &amp;quot;&amp;quot;&amp;quot; Created on Wed Mar  4 10:17:21 2020  @author: tgub &amp;quot;&amp;quot;&amp;quot;  import numpy as np  #a = np.array(range...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python3&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Created on Wed Mar  4 10:17:21 2020&lt;br /&gt;
&lt;br /&gt;
@author: tgub&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
import numpy as np&lt;br /&gt;
&lt;br /&gt;
#a = np.array(range(9)).reshape((3,3))&lt;br /&gt;
#print(a)&lt;br /&gt;
#&lt;br /&gt;
#s = 0&lt;br /&gt;
#for i in range(a.shape[0]):&lt;br /&gt;
#    s += a[0,i]*a[1,i]&lt;br /&gt;
#print(s)&lt;br /&gt;
#&lt;br /&gt;
#print(np.dot(a[1,:],a[0,:]))&lt;br /&gt;
&lt;br /&gt;
#poczatek k i k&lt;br /&gt;
plansza = np.zeros((3,3))&lt;br /&gt;
plansza[0,0] = 1&lt;br /&gt;
plansza[2,2] = 2&lt;br /&gt;
&lt;br /&gt;
def rysuj(plansza):&lt;br /&gt;
    kreska = ('---+'*plansza.shape[1])[:-1]&lt;br /&gt;
    def znak(z):&lt;br /&gt;
        if z == 1: return ' O '&lt;br /&gt;
        if z == 2: return ' X '&lt;br /&gt;
        return '   '&lt;br /&gt;
    for i in range(plansza.shape[0]):&lt;br /&gt;
        print('|'.join([znak(liczba) for liczba in plansza[i,:]]))&lt;br /&gt;
        if (i&amp;lt;plansza.shape[0]-1): print(kreska)&lt;br /&gt;
&lt;br /&gt;
rysuj(plansza)&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
 O |   | &lt;br /&gt;
---+---+---&lt;br /&gt;
   | X | &lt;br /&gt;
---+---+---&lt;br /&gt;
   |   | &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
#schemat gry&lt;br /&gt;
while 'sa wolne pola':&lt;br /&gt;
    #ruch gracza i&lt;br /&gt;
    while 'nie mam wspolrzednych wolnego pola':&lt;br /&gt;
        'podaj wspolrzedne'&lt;br /&gt;
    'wstaw znak'&lt;br /&gt;
    rysuj(plansza)&lt;br /&gt;
    'zmien gracza'&lt;br /&gt;
print('KONIEC GRY')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8276</id>
		<title>TI/Skrypty z zajęć</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87&amp;diff=8276"/>
		<updated>2020-03-04T10:41:05Z</updated>

		<summary type="html">&lt;p&gt;Tgub: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[TI/Skrypty z zajęć/1|1]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/2|2]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/3|3]]&lt;br /&gt;
*[[TI/Skrypty z zajęć/4|4]]&lt;/div&gt;</summary>
		<author><name>Tgub</name></author>
		
	</entry>
</feed>