<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=TI%2FSkrypty_z_zaj%C4%99%C4%87%2Fkz7-9</id>
	<title>TI/Skrypty z zajęć/kz7-9 - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=TI%2FSkrypty_z_zaj%C4%99%C4%87%2Fkz7-9"/>
	<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;action=history"/>
	<updated>2026-04-22T23:34:41Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Skrypty_z_zaj%C4%99%C4%87/kz7-9&amp;diff=8371&amp;oldid=prev</id>
		<title>Tgub: Utworzono nową stronę &quot;&lt;source lang=&quot;python&quot;&gt; # -*- coding: utf-8 -*- &quot;&quot;&quot; Created on Tue May 26 11:12:02 2020  @author: Tomek &quot;&quot;&quot;  ''' Zadanie 7 Napisze klasę InnyNawias. Konstruktor klasy pr...&quot;</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&amp;oldid=prev"/>
		<updated>2020-05-26T10:50:53Z</updated>

		<summary type="html">&lt;p&gt;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;  &amp;#039;&amp;#039;&amp;#039; Zadanie 7 Napisze klasę InnyNawias. Konstruktor klasy pr...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&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>
</feed>