class Ctverec:
def __init__(self, strana):
self.strana = strana
def obvod(self):
self.obvod = 4*self.strana
return self.obvod
def obsah(self):
self.obsah = self.strana**2
return self.obsah
def rozdil_obsahu(self, jiny_ctverec):
return self.obsah - jiny_ctverec.obsah
c1 = Ctverec(5)
c1.obsah()
c1.obsah()
c1 = Ctverec(5)
c2 = Ctverec(10)
c2.rozdil_obsahu(c1)
c1 = Ctverec(5)
c2 = Ctverec(10)
print(c1.obsah())
print(c2.obsah())
print(c2.rozdil_obsahu(c1))
class Ctverec:
def __init__(self, strana):
self.strana = strana
def obvod(self):
return 4 * self.strana
def obsah(self):
return self.strana ** 2
def rozdil_obsahu(self, jiny_ctverec):
return self.obsah() - druhy_ctverec.obsah()
c1 = Ctverec(5)
c2 = Ctverec(10)
c2.rozdil_obsahu(c1)
class Ctverec:
def __init__(self, strana):
self.strana = strana
def obvod(self):
obvod = 4 * self.strana
return obvod
def obsah(self):
obsah = self.strana * self.strana
return obsah
def rozdil_obsahu(self):
rozdil = ctverec1.obsah() - ctverec2.obsah()
return rozdil
c1 = Ctverec(5)
c2 = Ctverec(10)
c2.rozdil_obsahu(c1)
jiny_ctverec
je vlastně délka stranyclass Ctverec:
def __init__(self, strana):
self.strana = strana
def obvod(self):
print(self.strana*4)
def obsah(self):
print(self.strana**2)
def rozdil_obsahu(self, jiny_ctverec):
self.jiny_ctverec = jiny_ctverec
print((self.strana**2 - self.jiny_ctverec**2))
c1 = Ctverec(5)
c2 = Ctverec(10)
c2.rozdil_obsahu(c1)
jiny_ctverec
je vlastně délka strany podruhéclass Ctverec:
"""Trida Ctverec s jednim atributem strana a metodami:
- obvod()
- obsah()
- rozdil_obsahu(jiny_ctverec):
vrati rozdil obsahu dvou ctvercu - zadaneho a toho jehoz metodu volame."""
def __init__(self, strana):
self.strana = strana
def obvod(self):
"Vypocet obvodu ctverce"
self.obvod = self.strana * 4
print("Ctverec o strane {}cm ma obvod {}cm.".format(self.strana, self.obvod))
def obsah(self):
"Vypocet obsahu ctverce"
self.obsah = self.strana ** 2
print("Ctverec o strane {}cm ma obsah {}cm2.".format(self.strana, self.obsah))
def rozdil_obsahu(self, jiny_ctverec):
"vrati rozdil obsahu dvou ctvercu - zadaneho a toho jehoz metodu volame"
rozdil = (jiny_ctverec ** 2) - (self.strana ** 2)
return rozdil
class Ctverec():
def __init__(self, strana):
self.strana = strana
def obvod(self):
return 4 * self.strana
def obsah(self):
return self.strana ** 2
def rozdil_obsahu(self, druhy_ctverec):
return self.obsah() - druhy_ctverec.obsah()
{ "data": { "sessionMaterial": { "id": "session-material:2019/pyladies-ostrava-jaro:class:3", "title": "Zpětná vazba k domácím projektům", "html": "\n \n \n\n <div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n</div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h1>Feedback k domácím projektům</h1>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n</div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2>Řešení 1 - obsah lze vypočítat jen jednou a musí být spočten před počítáním rozdílu</h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [1]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"k\">class</span> <span class=\"nc\">Ctverec</span><span class=\"p\">:</span>\n <span class=\"k\">def</span> <span class=\"nf\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">):</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">=</span> <span class=\"n\">strana</span>\n <span class=\"k\">def</span> <span class=\"nf\">obvod</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obvod</span> <span class=\"o\">=</span> <span class=\"mi\">4</span><span class=\"o\">*</span><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span>\n <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obvod</span>\n <span class=\"k\">def</span> <span class=\"nf\">obsah</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obsah</span> <span class=\"o\">=</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span><span class=\"o\">**</span><span class=\"mi\">2</span>\n <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obsah</span>\n <span class=\"k\">def</span> <span class=\"nf\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">jiny_ctverec</span><span class=\"p\">):</span>\n <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obsah</span> <span class=\"o\">-</span> <span class=\"n\">jiny_ctverec</span><span class=\"o\">.</span><span class=\"n\">obsah</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [2]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">c1</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n<span class=\"n\">c1</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">()</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n <div class=\"prompt output_prompt\">Out[2]:</div>\n\n\n\n\n<div class=\"output_text output_subarea output_execute_result\">\n<pre>25</pre>\n</div>\n\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [3]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">c1</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">()</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n <div class=\"prompt\"></div>\n\n\n<div class=\"output_subarea output_text output_error\">\n<pre><span class=\"ansi-red-fg\">---------------------------------------------------------------------------</span>\n<span class=\"ansi-red-fg\">TypeError</span> Traceback (most recent call last)\n<span class=\"ansi-green-fg\"><ipython-input-3-dd68ddc8112e></span> in <span class=\"ansi-cyan-fg\"><module></span><span class=\"ansi-blue-fg\">()</span>\n<span class=\"ansi-green-fg\">----> 1</span><span class=\"ansi-red-fg\"> </span>c1<span class=\"ansi-blue-fg\">.</span>obsah<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-blue-fg\">)</span>\n\n<span class=\"ansi-red-fg\">TypeError</span>: 'int' object is not callable</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [4]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">c1</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n<span class=\"n\">c2</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n<span class=\"n\">c2</span><span class=\"o\">.</span><span class=\"n\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"n\">c1</span><span class=\"p\">)</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n <div class=\"prompt\"></div>\n\n\n<div class=\"output_subarea output_text output_error\">\n<pre><span class=\"ansi-red-fg\">---------------------------------------------------------------------------</span>\n<span class=\"ansi-red-fg\">TypeError</span> Traceback (most recent call last)\n<span class=\"ansi-green-fg\"><ipython-input-4-b2d4f2c61000></span> in <span class=\"ansi-cyan-fg\"><module></span><span class=\"ansi-blue-fg\">()</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 1</span> c1 <span class=\"ansi-blue-fg\">=</span> Ctverec<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-cyan-fg\">5</span><span class=\"ansi-blue-fg\">)</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 2</span> c2 <span class=\"ansi-blue-fg\">=</span> Ctverec<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-cyan-fg\">10</span><span class=\"ansi-blue-fg\">)</span>\n<span class=\"ansi-green-fg\">----> 3</span><span class=\"ansi-red-fg\"> </span>c2<span class=\"ansi-blue-fg\">.</span>rozdil_obsahu<span class=\"ansi-blue-fg\">(</span>c1<span class=\"ansi-blue-fg\">)</span>\n\n<span class=\"ansi-green-fg\"><ipython-input-1-cf49bcfaa00b></span> in <span class=\"ansi-cyan-fg\">rozdil_obsahu</span><span class=\"ansi-blue-fg\">(self, jiny_ctverec)</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 9</span> <span class=\"ansi-green-fg\">return</span> self<span class=\"ansi-blue-fg\">.</span>obsah\n<span class=\"ansi-green-intense-fg ansi-bold\"> 10</span> <span class=\"ansi-green-fg\">def</span> rozdil_obsahu<span class=\"ansi-blue-fg\">(</span>self<span class=\"ansi-blue-fg\">,</span> jiny_ctverec<span class=\"ansi-blue-fg\">)</span><span class=\"ansi-blue-fg\">:</span>\n<span class=\"ansi-green-fg\">---> 11</span><span class=\"ansi-red-fg\"> </span><span class=\"ansi-green-fg\">return</span> self<span class=\"ansi-blue-fg\">.</span>obsah <span class=\"ansi-blue-fg\">-</span> jiny_ctverec<span class=\"ansi-blue-fg\">.</span>obsah\n\n<span class=\"ansi-red-fg\">TypeError</span>: unsupported operand type(s) for -: 'method' and 'method'</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [16]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">c1</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n<span class=\"n\">c2</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">c1</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">())</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">c2</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">())</span>\n<span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">c2</span><span class=\"o\">.</span><span class=\"n\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"n\">c1</span><span class=\"p\">))</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n <div class=\"prompt\"></div>\n\n\n<div class=\"output_subarea output_stream output_stdout output_text\">\n<pre>25\n100\n75\n</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n</div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2>Řešení 2 - nefunguje dokud nemá ty správné globální proměnné</h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [5]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"k\">class</span> <span class=\"nc\">Ctverec</span><span class=\"p\">:</span>\n <span class=\"k\">def</span> <span class=\"nf\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">):</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">=</span> <span class=\"n\">strana</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">obvod</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"k\">return</span> <span class=\"mi\">4</span> <span class=\"o\">*</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">obsah</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">**</span> <span class=\"mi\">2</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">jiny_ctverec</span><span class=\"p\">):</span>\n <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">()</span> <span class=\"o\">-</span> <span class=\"n\">druhy_ctverec</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">()</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [6]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">c1</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n<span class=\"n\">c2</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n<span class=\"n\">c2</span><span class=\"o\">.</span><span class=\"n\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"n\">c1</span><span class=\"p\">)</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n <div class=\"prompt\"></div>\n\n\n<div class=\"output_subarea output_text output_error\">\n<pre><span class=\"ansi-red-fg\">---------------------------------------------------------------------------</span>\n<span class=\"ansi-red-fg\">NameError</span> Traceback (most recent call last)\n<span class=\"ansi-green-fg\"><ipython-input-6-b2d4f2c61000></span> in <span class=\"ansi-cyan-fg\"><module></span><span class=\"ansi-blue-fg\">()</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 1</span> c1 <span class=\"ansi-blue-fg\">=</span> Ctverec<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-cyan-fg\">5</span><span class=\"ansi-blue-fg\">)</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 2</span> c2 <span class=\"ansi-blue-fg\">=</span> Ctverec<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-cyan-fg\">10</span><span class=\"ansi-blue-fg\">)</span>\n<span class=\"ansi-green-fg\">----> 3</span><span class=\"ansi-red-fg\"> </span>c2<span class=\"ansi-blue-fg\">.</span>rozdil_obsahu<span class=\"ansi-blue-fg\">(</span>c1<span class=\"ansi-blue-fg\">)</span>\n\n<span class=\"ansi-green-fg\"><ipython-input-5-745a0cf85edb></span> in <span class=\"ansi-cyan-fg\">rozdil_obsahu</span><span class=\"ansi-blue-fg\">(self, jiny_ctverec)</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 10</span> \n<span class=\"ansi-green-intense-fg ansi-bold\"> 11</span> <span class=\"ansi-green-fg\">def</span> rozdil_obsahu<span class=\"ansi-blue-fg\">(</span>self<span class=\"ansi-blue-fg\">,</span> jiny_ctverec<span class=\"ansi-blue-fg\">)</span><span class=\"ansi-blue-fg\">:</span>\n<span class=\"ansi-green-fg\">---> 12</span><span class=\"ansi-red-fg\"> </span><span class=\"ansi-green-fg\">return</span> self<span class=\"ansi-blue-fg\">.</span>obsah<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-blue-fg\">)</span> <span class=\"ansi-blue-fg\">-</span> druhy_ctverec<span class=\"ansi-blue-fg\">.</span>obsah<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-blue-fg\">)</span>\n\n<span class=\"ansi-red-fg\">NameError</span>: name 'druhy_ctverec' is not defined</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n</div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2>Řešení 3 - globální proměnné podruhé</h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [7]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"k\">class</span> <span class=\"nc\">Ctverec</span><span class=\"p\">:</span>\n <span class=\"k\">def</span> <span class=\"nf\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">):</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">=</span> <span class=\"n\">strana</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">obvod</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"n\">obvod</span> <span class=\"o\">=</span> <span class=\"mi\">4</span> <span class=\"o\">*</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span>\n <span class=\"k\">return</span> <span class=\"n\">obvod</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">obsah</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"n\">obsah</span> <span class=\"o\">=</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">*</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span>\n <span class=\"k\">return</span> <span class=\"n\">obsah</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"n\">rozdil</span> <span class=\"o\">=</span> <span class=\"n\">ctverec1</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">()</span> <span class=\"o\">-</span> <span class=\"n\">ctverec2</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">()</span>\n <span class=\"k\">return</span> <span class=\"n\">rozdil</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [8]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">c1</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n<span class=\"n\">c2</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n<span class=\"n\">c2</span><span class=\"o\">.</span><span class=\"n\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"n\">c1</span><span class=\"p\">)</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n <div class=\"prompt\"></div>\n\n\n<div class=\"output_subarea output_text output_error\">\n<pre><span class=\"ansi-red-fg\">---------------------------------------------------------------------------</span>\n<span class=\"ansi-red-fg\">TypeError</span> Traceback (most recent call last)\n<span class=\"ansi-green-fg\"><ipython-input-8-b2d4f2c61000></span> in <span class=\"ansi-cyan-fg\"><module></span><span class=\"ansi-blue-fg\">()</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 1</span> c1 <span class=\"ansi-blue-fg\">=</span> Ctverec<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-cyan-fg\">5</span><span class=\"ansi-blue-fg\">)</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 2</span> c2 <span class=\"ansi-blue-fg\">=</span> Ctverec<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-cyan-fg\">10</span><span class=\"ansi-blue-fg\">)</span>\n<span class=\"ansi-green-fg\">----> 3</span><span class=\"ansi-red-fg\"> </span>c2<span class=\"ansi-blue-fg\">.</span>rozdil_obsahu<span class=\"ansi-blue-fg\">(</span>c1<span class=\"ansi-blue-fg\">)</span>\n\n<span class=\"ansi-red-fg\">TypeError</span>: rozdil_obsahu() takes 1 positional argument but 2 were given</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n</div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2>Řešení 4 - <code>jiny_ctverec</code> je vlastně délka strany</h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [9]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"k\">class</span> <span class=\"nc\">Ctverec</span><span class=\"p\">:</span>\n <span class=\"k\">def</span> <span class=\"nf\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">):</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">=</span> <span class=\"n\">strana</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">obvod</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span><span class=\"o\">*</span><span class=\"mi\">4</span><span class=\"p\">)</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">obsah</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span><span class=\"o\">**</span><span class=\"mi\">2</span><span class=\"p\">)</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">jiny_ctverec</span><span class=\"p\">):</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">jiny_ctverec</span> <span class=\"o\">=</span> <span class=\"n\">jiny_ctverec</span>\n <span class=\"nb\">print</span><span class=\"p\">((</span><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span><span class=\"o\">**</span><span class=\"mi\">2</span> <span class=\"o\">-</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">jiny_ctverec</span><span class=\"o\">**</span><span class=\"mi\">2</span><span class=\"p\">))</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [10]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"n\">c1</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n<span class=\"n\">c2</span> <span class=\"o\">=</span> <span class=\"n\">Ctverec</span><span class=\"p\">(</span><span class=\"mi\">10</span><span class=\"p\">)</span>\n<span class=\"n\">c2</span><span class=\"o\">.</span><span class=\"n\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"n\">c1</span><span class=\"p\">)</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n<div class=\"output_wrapper\">\n<div class=\"output\">\n\n\n<div class=\"output_area\">\n\n <div class=\"prompt\"></div>\n\n\n<div class=\"output_subarea output_text output_error\">\n<pre><span class=\"ansi-red-fg\">---------------------------------------------------------------------------</span>\n<span class=\"ansi-red-fg\">TypeError</span> Traceback (most recent call last)\n<span class=\"ansi-green-fg\"><ipython-input-10-b2d4f2c61000></span> in <span class=\"ansi-cyan-fg\"><module></span><span class=\"ansi-blue-fg\">()</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 1</span> c1 <span class=\"ansi-blue-fg\">=</span> Ctverec<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-cyan-fg\">5</span><span class=\"ansi-blue-fg\">)</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 2</span> c2 <span class=\"ansi-blue-fg\">=</span> Ctverec<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-cyan-fg\">10</span><span class=\"ansi-blue-fg\">)</span>\n<span class=\"ansi-green-fg\">----> 3</span><span class=\"ansi-red-fg\"> </span>c2<span class=\"ansi-blue-fg\">.</span>rozdil_obsahu<span class=\"ansi-blue-fg\">(</span>c1<span class=\"ansi-blue-fg\">)</span>\n\n<span class=\"ansi-green-fg\"><ipython-input-9-8c22002c806b></span> in <span class=\"ansi-cyan-fg\">rozdil_obsahu</span><span class=\"ansi-blue-fg\">(self, jiny_ctverec)</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 11</span> <span class=\"ansi-green-fg\">def</span> rozdil_obsahu<span class=\"ansi-blue-fg\">(</span>self<span class=\"ansi-blue-fg\">,</span> jiny_ctverec<span class=\"ansi-blue-fg\">)</span><span class=\"ansi-blue-fg\">:</span>\n<span class=\"ansi-green-intense-fg ansi-bold\"> 12</span> self<span class=\"ansi-blue-fg\">.</span>jiny_ctverec <span class=\"ansi-blue-fg\">=</span> jiny_ctverec\n<span class=\"ansi-green-fg\">---> 13</span><span class=\"ansi-red-fg\"> </span>print<span class=\"ansi-blue-fg\">(</span><span class=\"ansi-blue-fg\">(</span>self<span class=\"ansi-blue-fg\">.</span>strana<span class=\"ansi-blue-fg\">**</span><span class=\"ansi-cyan-fg\">2</span> <span class=\"ansi-blue-fg\">-</span> self<span class=\"ansi-blue-fg\">.</span>jiny_ctverec<span class=\"ansi-blue-fg\">**</span><span class=\"ansi-cyan-fg\">2</span><span class=\"ansi-blue-fg\">)</span><span class=\"ansi-blue-fg\">)</span>\n\n<span class=\"ansi-red-fg\">TypeError</span>: unsupported operand type(s) for ** or pow(): 'Ctverec' and 'int'</pre>\n</div>\n</div>\n\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n</div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2>Řešení 5 - <code>jiny_ctverec</code> je vlastně délka strany podruhé</h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [11]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"k\">class</span> <span class=\"nc\">Ctverec</span><span class=\"p\">:</span>\n <span class=\"sd\">"""Trida Ctverec s jednim atributem strana a metodami:</span>\n<span class=\"sd\"> - obvod()</span>\n<span class=\"sd\"> - obsah()</span>\n<span class=\"sd\"> - rozdil_obsahu(jiny_ctverec): </span>\n<span class=\"sd\"> vrati rozdil obsahu dvou ctvercu - zadaneho a toho jehoz metodu volame."""</span>\n <span class=\"k\">def</span> <span class=\"nf\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">):</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">=</span> <span class=\"n\">strana</span>\n \n <span class=\"k\">def</span> <span class=\"nf\">obvod</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"s2\">"Vypocet obvodu ctverce"</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obvod</span> <span class=\"o\">=</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">*</span> <span class=\"mi\">4</span>\n <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">"Ctverec o strane </span><span class=\"si\">{}</span><span class=\"s2\">cm ma obvod </span><span class=\"si\">{}</span><span class=\"s2\">cm."</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obvod</span><span class=\"p\">))</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">obsah</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"s2\">"Vypocet obsahu ctverce"</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obsah</span> <span class=\"o\">=</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">**</span> <span class=\"mi\">2</span>\n <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"s2\">"Ctverec o strane </span><span class=\"si\">{}</span><span class=\"s2\">cm ma obsah </span><span class=\"si\">{}</span><span class=\"s2\">cm2."</span><span class=\"o\">.</span><span class=\"n\">format</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span><span class=\"p\">,</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">))</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">jiny_ctverec</span><span class=\"p\">):</span>\n <span class=\"s2\">"vrati rozdil obsahu dvou ctvercu - zadaneho a toho jehoz metodu volame"</span>\n <span class=\"n\">rozdil</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">jiny_ctverec</span> <span class=\"o\">**</span> <span class=\"mi\">2</span><span class=\"p\">)</span> <span class=\"o\">-</span> <span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">**</span> <span class=\"mi\">2</span><span class=\"p\">)</span>\n <span class=\"k\">return</span> <span class=\"n\">rozdil</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n</div>\n<div class=\"cell border-box-sizing text_cell rendered\"><div class=\"prompt input_prompt\">\n</div><div class=\"inner_cell\">\n<div class=\"text_cell_render border-box-sizing rendered_html\">\n<h2>Správné řešení</h2>\n</div>\n</div>\n</div>\n<div class=\"cell border-box-sizing code_cell rendered\">\n<div class=\"input\">\n<div class=\"prompt input_prompt\">In [13]:</div>\n<div class=\"inner_cell\">\n <div class=\"input_area\">\n<div class=\" highlight hl-ipython3\"><pre><span></span><span class=\"k\">class</span> <span class=\"nc\">Ctverec</span><span class=\"p\">():</span>\n <span class=\"k\">def</span> <span class=\"nf\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">strana</span><span class=\"p\">):</span>\n <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">=</span> <span class=\"n\">strana</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">obvod</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"k\">return</span> <span class=\"mi\">4</span> <span class=\"o\">*</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">obsah</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">strana</span> <span class=\"o\">**</span> <span class=\"mi\">2</span>\n\n <span class=\"k\">def</span> <span class=\"nf\">rozdil_obsahu</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">druhy_ctverec</span><span class=\"p\">):</span>\n <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">()</span> <span class=\"o\">-</span> <span class=\"n\">druhy_ctverec</span><span class=\"o\">.</span><span class=\"n\">obsah</span><span class=\"p\">()</span>\n</pre></div>\n\n </div>\n</div>\n</div>\n\n</div>\n \n\n\n\n\n " } } }