Updated notebooks
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
This commit is contained in:
parent
e8bb889d9b
commit
d38d917e71
|
@ -7531,7 +7531,7 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7543,15 +7543,36 @@ a.anchor-link {
|
||||||
|
|
||||||
<span class="n">a</span> <span class="o">=</span> <span class="mi">42</span>
|
<span class="n">a</span> <span class="o">=</span> <span class="mi">42</span>
|
||||||
<span class="n">b</span> <span class="o">=</span> <span class="mi">23</span>
|
<span class="n">b</span> <span class="o">=</span> <span class="mi">23</span>
|
||||||
|
<span class="n">c</span> <span class="o">=</span> <span class="mh">0x20</span>
|
||||||
|
<span class="n">d</span> <span class="o">=</span> <span class="mb">0b1110101</span>
|
||||||
|
<span class="c1">#e = calculate()</span>
|
||||||
|
<span class="n">f</span> <span class="o">=</span> <span class="mi">1_000_000</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">b</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">a</span> <span class="o">-</span> <span class="n">b</span><span class="p">)</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>42
|
||||||
|
23
|
||||||
|
65
|
||||||
|
19
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7566,13 +7587,32 @@ a.anchor-link {
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">pi</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">pi</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">pi</span><span class="p">))</span>
|
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">pi</span><span class="p">))</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">pi</span> <span class="o">*</span> <span class="n">e</span><span class="p">)</span>
|
<span class="n">x</span> <span class="o">=</span> <span class="n">pi</span> <span class="o">*</span> <span class="n">e</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>3.14159
|
||||||
|
<class 'float'>
|
||||||
|
2.71828
|
||||||
|
8.539721265199999
|
||||||
|
<class 'float'>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7584,8 +7624,9 @@ a.anchor-link {
|
||||||
|
|
||||||
<span class="n">i</span> <span class="o">=</span> <span class="mi">3</span>
|
<span class="n">i</span> <span class="o">=</span> <span class="mi">3</span>
|
||||||
<span class="n">f</span> <span class="o">=</span> <span class="mf">1.5</span>
|
<span class="n">f</span> <span class="o">=</span> <span class="mf">1.5</span>
|
||||||
<span class="n">summe</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">f</span>
|
<span class="n">summe</span> <span class="o">=</span> <span class="n">i</span> <span class="o">+</span> <span class="n">f</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">f</span><span class="p">,</span> <span class="n">summe</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">f</span><span class="p">,</span> <span class="n">summe</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">summe</span><span class="p">))</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||||
<span class="n">z</span> <span class="o">=</span> <span class="mi">1</span>
|
<span class="n">z</span> <span class="o">=</span> <span class="mi">1</span>
|
||||||
<span class="n">n</span> <span class="o">=</span> <span class="mi">6</span>
|
<span class="n">n</span> <span class="o">=</span> <span class="mi">6</span>
|
||||||
|
@ -7595,7 +7636,23 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>3 1.5 4.5
|
||||||
|
<class 'float'>
|
||||||
|
<class 'float'>
|
||||||
|
0.16666666666666666
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7621,7 +7678,27 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>2
|
||||||
|
999
|
||||||
|
144
|
||||||
|
8.0
|
||||||
|
3.8
|
||||||
|
1.0
|
||||||
|
23.799999999999997
|
||||||
|
0.3333333333333333
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7644,7 +7721,24 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>64
|
||||||
|
512
|
||||||
|
512
|
||||||
|
285.0043245227213
|
||||||
|
285.0043245227213
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7659,11 +7753,38 @@ a.anchor-link {
|
||||||
<span class="n">rest</span> <span class="o">=</span> <span class="n">x</span> <span class="o">%</span> <span class="mi">3</span>
|
<span class="n">rest</span> <span class="o">=</span> <span class="n">x</span> <span class="o">%</span> <span class="mi">3</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">rest</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">rest</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">rest</span><span class="p">))</span>
|
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">rest</span><span class="p">))</span>
|
||||||
|
<span class="n">f</span> <span class="o">=</span> <span class="mf">1.2345</span>
|
||||||
|
<span class="n">i</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">f</span> <span class="o">%</span> <span class="mi">1</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="o">-</span><span class="mf">2.3456</span><span class="p">))</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="nb">round</span><span class="p">(</span><span class="mf">2.3455</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">math</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">math</span><span class="o">.</span><span class="n">floor</span><span class="p">(</span><span class="mf">2.345</span><span class="p">))</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>1
|
||||||
|
<class 'int'>
|
||||||
|
1.2345 1
|
||||||
|
0.23449999999999993
|
||||||
|
-2
|
||||||
|
2.35
|
||||||
|
2
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
|
@ -7675,7 +7796,7 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7691,7 +7812,7 @@ a.anchor-link {
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">s3a</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">s3a</span><span class="p">)</span>
|
||||||
<span class="n">s3b</span> <span class="o">=</span> <span class="s2">"Oder 'andersherum'."</span>
|
<span class="n">s3b</span> <span class="o">=</span> <span class="s2">"Oder 'andersherum'."</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">s3b</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">s3b</span><span class="p">)</span>
|
||||||
<span class="n">s4</span> <span class="o">=</span> <span class="s2">"Alternativ kann man eine Backslash als </span><span class="se">\"</span><span class="s2">Escape</span><span class="se">\"</span><span class="s2">-Zeichen verwenden"</span>
|
<span class="n">s4</span> <span class="o">=</span> <span class="s2">"Alternativ kann man eine Backslash </span><span class="se">\'</span><span class="s2">als</span><span class="se">\'</span><span class="s2"> </span><span class="se">\"</span><span class="s2">Escape</span><span class="se">\"</span><span class="s2">-Zeichen verwenden"</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">s4</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">s4</span><span class="p">)</span>
|
||||||
<span class="n">s5</span> <span class="o">=</span> <span class="s2">"String-Literale"</span> <span class="s2">", die direkt hintereinander"</span> <span class="s2">", durch Leerzeichen getrennt, stehen"</span> <span class="s2">"werden zusammengefügt."</span>
|
<span class="n">s5</span> <span class="o">=</span> <span class="s2">"String-Literale"</span> <span class="s2">", die direkt hintereinander"</span> <span class="s2">", durch Leerzeichen getrennt, stehen"</span> <span class="s2">"werden zusammengefügt."</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">s5</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">s5</span><span class="p">)</span>
|
||||||
|
@ -7699,12 +7820,45 @@ a.anchor-link {
|
||||||
<span class="s2">"über mehrere Zeilen "</span>
|
<span class="s2">"über mehrere Zeilen "</span>
|
||||||
<span class="s2">"hinweg"</span><span class="p">)</span>
|
<span class="s2">"hinweg"</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">s6</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">s6</span><span class="p">)</span>
|
||||||
|
<span class="n">l</span> <span class="o">=</span> <span class="p">[</span>
|
||||||
|
<span class="s2">"joe"</span><span class="p">,</span>
|
||||||
|
<span class="s2">"bob"</span><span class="p">,</span>
|
||||||
|
<span class="s2">"alice"</span><span class="p">,</span>
|
||||||
|
<span class="s2">"jenny"</span>
|
||||||
|
<span class="p">]</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">l</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">l</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">l</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">l</span><span class="p">)</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Dies ist ein String!
|
||||||
|
Man kann einfache oder doppelte Anführungszeichen verwenden.
|
||||||
|
Innerhalb der Anführungszeichen kann man den jeweils "anderen Typ" verwenden
|
||||||
|
Oder 'andersherum'.
|
||||||
|
Alternativ kann man eine Backslash 'als' "Escape"-Zeichen verwenden
|
||||||
|
String-Literale, die direkt hintereinander, durch Leerzeichen getrennt, stehenwerden zusammengefügt.
|
||||||
|
Mit Klammerung klappt das auch über mehrere Zeilen hinweg
|
||||||
|
['joe', 'bob', 'alice', 'jenny']
|
||||||
|
['joe', 'bob', 'alice', 'jenny']
|
||||||
|
['joe', 'bob', 'alice', 'jenny']
|
||||||
|
['joe', 'bob', 'alice', 'jenny']
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7714,23 +7868,46 @@ a.anchor-link {
|
||||||
<div class="cm-editor cm-s-jupyter">
|
<div class="cm-editor cm-s-jupyter">
|
||||||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># Längere Strings</span>
|
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># Längere Strings</span>
|
||||||
|
|
||||||
<span class="n">long_string</span> <span class="o">=</span> <span class="s2">"""Dies ist ein langer String ("triple quoted string").</span>
|
<span class="n">long_string</span> <span class="o">=</span> <span class="s1">'''Dies ist ein langer String ("triple quoted string").</span>
|
||||||
<span class="s2">Er kann Zeilenumbrüche enthalten.</span>
|
<span class="s1">Er kann Zeilenumbrüche enthalten.</span>
|
||||||
|
|
||||||
<span class="s2">Und Leerzeilen.</span>
|
<span class="s1">Und Leerzeilen.</span>
|
||||||
|
|
||||||
<span class="s2">Und auch 'einfache' oder "doppelte" Anführungszeichen.</span>
|
<span class="s1">Und auch 'einfache' oder "doppelte" Anführungszeichen.</span>
|
||||||
|
|
||||||
<span class="s2">Er endet mit drei weiteren Anführungszeichen des gleichen Typs.</span>
|
<span class="s1">Er endet mit drei weiteren Anführungszeichen des gleichen Typs.</span>
|
||||||
<span class="s2">"""</span>
|
<span class="s1">'''</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">long_string</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">long_string</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="nb">repr</span><span class="p">(</span><span class="n">long_string</span><span class="p">))</span>
|
<span class="nb">print</span><span class="p">(</span><span class="nb">repr</span><span class="p">(</span><span class="n">long_string</span><span class="p">))</span>
|
||||||
|
<span class="n">s</span> <span class="o">=</span> <span class="s1">'Dies ist ein langer String ("triple quoted string").</span><span class="se">\n</span><span class="s1">Er kann Zeilenumbrüche enthalten.</span><span class="se">\n\n</span><span class="s1">Und Leerzeilen.</span><span class="se">\n\n</span><span class="s1">Und auch </span><span class="se">\'</span><span class="s1">einfache</span><span class="se">\'</span><span class="s1"> oder "doppelte" Anführungszeichen.</span><span class="se">\n\n</span><span class="s1">Er endet mit drei weiteren Anführungszeichen des gleichen Typs.</span><span class="se">\n</span><span class="s1">'</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Dies ist ein langer String ("triple quoted string").
|
||||||
|
Er kann Zeilenumbrüche enthalten.
|
||||||
|
|
||||||
|
Und Leerzeilen.
|
||||||
|
|
||||||
|
Und auch 'einfache' oder "doppelte" Anführungszeichen.
|
||||||
|
|
||||||
|
Er endet mit drei weiteren Anführungszeichen des gleichen Typs.
|
||||||
|
|
||||||
|
'Dies ist ein langer String ("triple quoted string").\nEr kann Zeilenumbrüche enthalten.\n\nUnd Leerzeilen.\n\nUnd auch \'einfache\' oder "doppelte" Anführungszeichen.\n\nEr endet mit drei weiteren Anführungszeichen des gleichen Typs.\n'
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7755,7 +7932,28 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Erste Zeile
|
||||||
|
Zweite Zeile
|
||||||
|
Eine Zeile
|
||||||
|
Noch eine Zeile
|
||||||
|
Eins Zwei Drei
|
||||||
|
1 2 3
|
||||||
|
'Dieser String enthält ein\x00Null-Zeichen'
|
||||||
|
Hexadezimal-Codes können wir druckbare (e.g. '@') und nicht druckbare Zeichen (e.g. ) verwendet werden.
|
||||||
|
❤
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7776,7 +7974,21 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Dies ist der erste String.Und dies der zweite.
|
||||||
|
Ich habe es dir schon dreimal gesagt! Ich habe es dir schon dreimal gesagt! Ich habe es dir schon dreimal gesagt!
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7794,7 +8006,23 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>SCHREI NICHT SO LAUT!
|
||||||
|
True
|
||||||
|
True
|
||||||
|
True
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7805,12 +8033,68 @@ a.anchor-link {
|
||||||
<div class="highlight hl-ipython3"><pre><span></span><span class="n">hallo</span> <span class="o">=</span> <span class="s2">"Hallo"</span>
|
<div class="highlight hl-ipython3"><pre><span></span><span class="n">hallo</span> <span class="o">=</span> <span class="s2">"Hallo"</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">hallo</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">hallo</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">hallo</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">hallo</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">hallo</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'e'</span> <span class="o">+</span> <span class="n">hallo</span><span class="p">[</span><span class="mi">2</span><span class="p">:])</span>
|
<span class="n">hello</span> <span class="o">=</span> <span class="n">hallo</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s1">'e'</span> <span class="o">+</span> <span class="n">hallo</span><span class="p">[</span><span class="mi">2</span><span class="p">:]</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">hello</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="s2">"hello"</span> <span class="o">*</span> <span class="mi">3</span><span class="p">)</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Hallo
|
||||||
|
a
|
||||||
|
Hello
|
||||||
|
hellohellohello
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-InputArea jp-Cell-inputArea">
|
||||||
|
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
|
||||||
|
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||||||
|
<div class="cm-editor cm-s-jupyter">
|
||||||
|
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># Aber das geht nicht!:</span>
|
||||||
|
|
||||||
|
<span class="n">hallo</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'e'</span>
|
||||||
|
|
||||||
|
<span class="c1"># Strings sind immutable!</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||||||
|
<pre>
|
||||||
|
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
|
||||||
|
<span class="ansi-red-fg">TypeError</span> Traceback (most recent call last)
|
||||||
|
<span class="ansi-green-intense-fg ansi-bold">/home/chris/work/python-kurs-softed/notebooks/basictypes.ipynb Cell 16</span> line <span class="ansi-cyan-fg">3
|
||||||
|
</span><span class="ansi-green-intense-fg ansi-bold"> <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/basictypes.ipynb#X21sZmlsZQ%3D%3D?line=0'>1</a></span> # Aber das geht nicht!:
|
||||||
|
<span class="ansi-green-fg">----> <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/basictypes.ipynb#X21sZmlsZQ%3D%3D?line=2'>3</a></span> hallo[1] = 'e'
|
||||||
|
<span class="ansi-green-intense-fg ansi-bold"> <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/basictypes.ipynb#X21sZmlsZQ%3D%3D?line=4'>5</a></span> # Strings sind immutable!
|
||||||
|
|
||||||
|
<span class="ansi-red-fg">TypeError</span>: 'str' object does not support item assignment</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
|
@ -7819,9 +8103,8 @@ a.anchor-link {
|
||||||
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
|
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
|
||||||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||||||
<div class="cm-editor cm-s-jupyter">
|
<div class="cm-editor cm-s-jupyter">
|
||||||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># Aber das geht nicht!:</span>
|
<div class="highlight hl-ipython3"><pre><span></span><span class="n">i</span> <span class="o">=</span> <span class="mf">3.141</span>
|
||||||
|
<span class="n">i</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">42</span>
|
||||||
<span class="n">hallo</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'e'</span>
|
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -16,24 +16,52 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 12,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"42\n",
|
||||||
|
"23\n",
|
||||||
|
"65\n",
|
||||||
|
"19\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Ganzzahlen (Integers)\n",
|
"# Ganzzahlen (Integers)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"a = 42\n",
|
"a = 42\n",
|
||||||
"b = 23\n",
|
"b = 23\n",
|
||||||
|
"c = 0x20\n",
|
||||||
|
"d = 0b1110101\n",
|
||||||
|
"#e = calculate()\n",
|
||||||
|
"f = 1_000_000\n",
|
||||||
"print(a)\n",
|
"print(a)\n",
|
||||||
"print(b)\n",
|
"print(b)\n",
|
||||||
"print(a + b)"
|
"print(a + b)\n",
|
||||||
|
"print(a - b)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 13,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"3.14159\n",
|
||||||
|
"<class 'float'>\n",
|
||||||
|
"2.71828\n",
|
||||||
|
"8.539721265199999\n",
|
||||||
|
"<class 'float'>\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Fließkommazahlen (Floats)\n",
|
"# Fließkommazahlen (Floats)\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -42,21 +70,35 @@
|
||||||
"print(pi)\n",
|
"print(pi)\n",
|
||||||
"print(type(pi))\n",
|
"print(type(pi))\n",
|
||||||
"print(e)\n",
|
"print(e)\n",
|
||||||
"print(pi * e)"
|
"x = pi * e\n",
|
||||||
|
"print(x)\n",
|
||||||
|
"print(type(x))"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 14,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"3 1.5 4.5\n",
|
||||||
|
"<class 'float'>\n",
|
||||||
|
"<class 'float'>\n",
|
||||||
|
"0.16666666666666666\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Implizite Umwandlung von numerischen Typen\n",
|
"# Implizite Umwandlung von numerischen Typen\n",
|
||||||
"\n",
|
"\n",
|
||||||
"i = 3\n",
|
"i = 3\n",
|
||||||
"f = 1.5\n",
|
"f = 1.5\n",
|
||||||
"summe = a + f\n",
|
"summe = i + f\n",
|
||||||
"print(i, f, summe)\n",
|
"print(i, f, summe)\n",
|
||||||
|
"print(type(summe))\n",
|
||||||
"print(type(e))\n",
|
"print(type(e))\n",
|
||||||
"z = 1\n",
|
"z = 1\n",
|
||||||
"n = 6\n",
|
"n = 6\n",
|
||||||
|
@ -65,9 +107,24 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 15,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"2\n",
|
||||||
|
"999\n",
|
||||||
|
"144\n",
|
||||||
|
"8.0\n",
|
||||||
|
"3.8\n",
|
||||||
|
"1.0\n",
|
||||||
|
"23.799999999999997\n",
|
||||||
|
"0.3333333333333333\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Grundrechenarten\n",
|
"# Grundrechenarten\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -86,9 +143,21 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 16,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"64\n",
|
||||||
|
"512\n",
|
||||||
|
"512\n",
|
||||||
|
"285.0043245227213\n",
|
||||||
|
"285.0043245227213\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# X hoch Y\n",
|
"# X hoch Y\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -104,9 +173,23 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 17,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"1\n",
|
||||||
|
"<class 'int'>\n",
|
||||||
|
"1.2345 1\n",
|
||||||
|
"0.23449999999999993\n",
|
||||||
|
"-2\n",
|
||||||
|
"2.35\n",
|
||||||
|
"2\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Modulo\n",
|
"# Modulo\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -114,7 +197,15 @@
|
||||||
"y = 3\n",
|
"y = 3\n",
|
||||||
"rest = x % 3\n",
|
"rest = x % 3\n",
|
||||||
"print(rest)\n",
|
"print(rest)\n",
|
||||||
"print(type(rest))"
|
"print(type(rest))\n",
|
||||||
|
"f = 1.2345\n",
|
||||||
|
"i = int(f)\n",
|
||||||
|
"print(f, i)\n",
|
||||||
|
"print(f % 1)\n",
|
||||||
|
"print(int(-2.3456))\n",
|
||||||
|
"print(round(2.3455, 2))\n",
|
||||||
|
"import math\n",
|
||||||
|
"print(math.floor(2.345))"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -126,9 +217,27 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 18,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Dies ist ein String!\n",
|
||||||
|
"Man kann einfache oder doppelte Anführungszeichen verwenden.\n",
|
||||||
|
"Innerhalb der Anführungszeichen kann man den jeweils \"anderen Typ\" verwenden\n",
|
||||||
|
"Oder 'andersherum'.\n",
|
||||||
|
"Alternativ kann man eine Backslash 'als' \"Escape\"-Zeichen verwenden\n",
|
||||||
|
"String-Literale, die direkt hintereinander, durch Leerzeichen getrennt, stehenwerden zusammengefügt.\n",
|
||||||
|
"Mit Klammerung klappt das auch über mehrere Zeilen hinweg\n",
|
||||||
|
"['joe', 'bob', 'alice', 'jenny']\n",
|
||||||
|
"['joe', 'bob', 'alice', 'jenny']\n",
|
||||||
|
"['joe', 'bob', 'alice', 'jenny']\n",
|
||||||
|
"['joe', 'bob', 'alice', 'jenny']\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"s = \"Dies ist ein String!\"\n",
|
"s = \"Dies ist ein String!\"\n",
|
||||||
"print(s)\n",
|
"print(s)\n",
|
||||||
|
@ -138,25 +247,52 @@
|
||||||
"print(s3a)\n",
|
"print(s3a)\n",
|
||||||
"s3b = \"Oder 'andersherum'.\"\n",
|
"s3b = \"Oder 'andersherum'.\"\n",
|
||||||
"print(s3b)\n",
|
"print(s3b)\n",
|
||||||
"s4 = \"Alternativ kann man eine Backslash als \\\"Escape\\\"-Zeichen verwenden\"\n",
|
"s4 = \"Alternativ kann man eine Backslash \\'als\\' \\\"Escape\\\"-Zeichen verwenden\"\n",
|
||||||
"print(s4)\n",
|
"print(s4)\n",
|
||||||
"s5 = \"String-Literale\" \", die direkt hintereinander\" \", durch Leerzeichen getrennt, stehen\" \"werden zusammengefügt.\"\n",
|
"s5 = \"String-Literale\" \", die direkt hintereinander\" \", durch Leerzeichen getrennt, stehen\" \"werden zusammengefügt.\"\n",
|
||||||
"print(s5)\n",
|
"print(s5)\n",
|
||||||
"s6 = (\"Mit Klammerung klappt das auch \"\n",
|
"s6 = (\"Mit Klammerung klappt das auch \"\n",
|
||||||
" \"über mehrere Zeilen \"\n",
|
" \"über mehrere Zeilen \"\n",
|
||||||
" \"hinweg\")\n",
|
" \"hinweg\")\n",
|
||||||
"print(s6)"
|
"print(s6)\n",
|
||||||
|
"l = [\n",
|
||||||
|
" \"joe\",\n",
|
||||||
|
" \"bob\",\n",
|
||||||
|
" \"alice\",\n",
|
||||||
|
" \"jenny\"\n",
|
||||||
|
"]\n",
|
||||||
|
"print(l)\n",
|
||||||
|
"print(l)\n",
|
||||||
|
"print(l)\n",
|
||||||
|
"print(l)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 19,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Dies ist ein langer String (\"triple quoted string\").\n",
|
||||||
|
"Er kann Zeilenumbrüche enthalten.\n",
|
||||||
|
"\n",
|
||||||
|
"Und Leerzeilen.\n",
|
||||||
|
"\n",
|
||||||
|
"Und auch 'einfache' oder \"doppelte\" Anführungszeichen.\n",
|
||||||
|
"\n",
|
||||||
|
"Er endet mit drei weiteren Anführungszeichen des gleichen Typs.\n",
|
||||||
|
"\n",
|
||||||
|
"'Dies ist ein langer String (\"triple quoted string\").\\nEr kann Zeilenumbrüche enthalten.\\n\\nUnd Leerzeilen.\\n\\nUnd auch \\'einfache\\' oder \"doppelte\" Anführungszeichen.\\n\\nEr endet mit drei weiteren Anführungszeichen des gleichen Typs.\\n'\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Längere Strings\n",
|
"# Längere Strings\n",
|
||||||
"\n",
|
"\n",
|
||||||
"long_string = \"\"\"Dies ist ein langer String (\"triple quoted string\").\n",
|
"long_string = '''Dies ist ein langer String (\"triple quoted string\").\n",
|
||||||
"Er kann Zeilenumbrüche enthalten.\n",
|
"Er kann Zeilenumbrüche enthalten.\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Und Leerzeilen.\n",
|
"Und Leerzeilen.\n",
|
||||||
|
@ -164,16 +300,33 @@
|
||||||
"Und auch 'einfache' oder \"doppelte\" Anführungszeichen.\n",
|
"Und auch 'einfache' oder \"doppelte\" Anführungszeichen.\n",
|
||||||
"\n",
|
"\n",
|
||||||
"Er endet mit drei weiteren Anführungszeichen des gleichen Typs.\n",
|
"Er endet mit drei weiteren Anführungszeichen des gleichen Typs.\n",
|
||||||
"\"\"\"\n",
|
"'''\n",
|
||||||
"print(long_string)\n",
|
"print(long_string)\n",
|
||||||
"print(repr(long_string))"
|
"print(repr(long_string))\n",
|
||||||
|
"s = 'Dies ist ein langer String (\"triple quoted string\").\\nEr kann Zeilenumbrüche enthalten.\\n\\nUnd Leerzeilen.\\n\\nUnd auch \\'einfache\\' oder \"doppelte\" Anführungszeichen.\\n\\nEr endet mit drei weiteren Anführungszeichen des gleichen Typs.\\n'"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 20,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Erste Zeile\n",
|
||||||
|
"Zweite Zeile\n",
|
||||||
|
"Eine Zeile\n",
|
||||||
|
"Noch eine Zeile\n",
|
||||||
|
"Eins\tZwei\tDrei\n",
|
||||||
|
"1\t2\t3\n",
|
||||||
|
"'Dieser String enthält ein\\x00Null-Zeichen'\n",
|
||||||
|
"Hexadezimal-Codes können wir druckbare (e.g. '@') und nicht druckbare Zeichen (e.g. ) verwendet werden.\n",
|
||||||
|
"❤\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Escape Sequenzen\n",
|
"# Escape Sequenzen\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -191,9 +344,18 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 21,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Dies ist der erste String.Und dies der zweite.\n",
|
||||||
|
"Ich habe es dir schon dreimal gesagt! Ich habe es dir schon dreimal gesagt! Ich habe es dir schon dreimal gesagt! \n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# String-Operationen\n",
|
"# String-Operationen\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -207,9 +369,20 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 22,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"SCHREI NICHT SO LAUT!\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"klein = \"schrei nicht so laut!\"\n",
|
"klein = \"schrei nicht so laut!\"\n",
|
||||||
"print(klein.upper())\n",
|
"print(klein.upper())\n",
|
||||||
|
@ -220,14 +393,52 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 23,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Hallo\n",
|
||||||
|
"a\n",
|
||||||
|
"Hello\n",
|
||||||
|
"hellohellohello\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"hallo = \"Hallo\"\n",
|
"hallo = \"Hallo\"\n",
|
||||||
"print(hallo)\n",
|
"print(hallo)\n",
|
||||||
"print(hallo[1])\n",
|
"print(hallo[1])\n",
|
||||||
"print(hallo[0] + 'e' + hallo[2:])"
|
"hello = hallo[0] + 'e' + hallo[2:]\n",
|
||||||
|
"print(hello)\n",
|
||||||
|
"print(\"hello\" * 3)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 24,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"ename": "TypeError",
|
||||||
|
"evalue": "'str' object does not support item assignment",
|
||||||
|
"output_type": "error",
|
||||||
|
"traceback": [
|
||||||
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||||
|
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
||||||
|
"\u001b[1;32m/home/chris/work/python-kurs-softed/notebooks/basictypes.ipynb Cell 16\u001b[0m line \u001b[0;36m3\n\u001b[1;32m <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/basictypes.ipynb#X21sZmlsZQ%3D%3D?line=0'>1</a>\u001b[0m \u001b[39m# Aber das geht nicht!:\u001b[39;00m\n\u001b[0;32m----> <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/basictypes.ipynb#X21sZmlsZQ%3D%3D?line=2'>3</a>\u001b[0m hallo[\u001b[39m1\u001b[39;49m] \u001b[39m=\u001b[39m \u001b[39m'\u001b[39m\u001b[39me\u001b[39m\u001b[39m'\u001b[39m\n\u001b[1;32m <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/basictypes.ipynb#X21sZmlsZQ%3D%3D?line=4'>5</a>\u001b[0m \u001b[39m# Strings sind immutable!\u001b[39;00m\n",
|
||||||
|
"\u001b[0;31mTypeError\u001b[0m: 'str' object does not support item assignment"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"# Aber das geht nicht!:\n",
|
||||||
|
"\n",
|
||||||
|
"hallo[1] = 'e'\n",
|
||||||
|
"\n",
|
||||||
|
"# Strings sind immutable!"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -236,9 +447,8 @@
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"# Aber das geht nicht!:\n",
|
"i = 3.141\n",
|
||||||
"\n",
|
"i: int = 42"
|
||||||
"hallo[1] = 'e'"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -9,9 +9,14 @@
|
||||||
|
|
||||||
a = 42
|
a = 42
|
||||||
b = 23
|
b = 23
|
||||||
|
c = 0x20
|
||||||
|
d = 0b1110101
|
||||||
|
#e = calculate()
|
||||||
|
f = 1_000_000
|
||||||
print(a)
|
print(a)
|
||||||
print(b)
|
print(b)
|
||||||
print(a + b)
|
print(a + b)
|
||||||
|
print(a - b)
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
# Fließkommazahlen (Floats)
|
# Fließkommazahlen (Floats)
|
||||||
|
@ -21,15 +26,18 @@ e = 2.71828
|
||||||
print(pi)
|
print(pi)
|
||||||
print(type(pi))
|
print(type(pi))
|
||||||
print(e)
|
print(e)
|
||||||
print(pi * e)
|
x = pi * e
|
||||||
|
print(x)
|
||||||
|
print(type(x))
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
# Implizite Umwandlung von numerischen Typen
|
# Implizite Umwandlung von numerischen Typen
|
||||||
|
|
||||||
i = 3
|
i = 3
|
||||||
f = 1.5
|
f = 1.5
|
||||||
summe = a + f
|
summe = i + f
|
||||||
print(i, f, summe)
|
print(i, f, summe)
|
||||||
|
print(type(summe))
|
||||||
print(type(e))
|
print(type(e))
|
||||||
z = 1
|
z = 1
|
||||||
n = 6
|
n = 6
|
||||||
|
@ -70,6 +78,14 @@ y = 3
|
||||||
rest = x % 3
|
rest = x % 3
|
||||||
print(rest)
|
print(rest)
|
||||||
print(type(rest))
|
print(type(rest))
|
||||||
|
f = 1.2345
|
||||||
|
i = int(f)
|
||||||
|
print(f, i)
|
||||||
|
print(f % 1)
|
||||||
|
print(int(-2.3456))
|
||||||
|
print(round(2.3455, 2))
|
||||||
|
import math
|
||||||
|
print(math.floor(2.345))
|
||||||
|
|
||||||
# %% [markdown]
|
# %% [markdown]
|
||||||
# # Strings
|
# # Strings
|
||||||
|
@ -83,7 +99,7 @@ s3a = 'Innerhalb der Anführungszeichen kann man den jeweils "anderen Typ" verwe
|
||||||
print(s3a)
|
print(s3a)
|
||||||
s3b = "Oder 'andersherum'."
|
s3b = "Oder 'andersherum'."
|
||||||
print(s3b)
|
print(s3b)
|
||||||
s4 = "Alternativ kann man eine Backslash als \"Escape\"-Zeichen verwenden"
|
s4 = "Alternativ kann man eine Backslash \'als\' \"Escape\"-Zeichen verwenden"
|
||||||
print(s4)
|
print(s4)
|
||||||
s5 = "String-Literale" ", die direkt hintereinander" ", durch Leerzeichen getrennt, stehen" "werden zusammengefügt."
|
s5 = "String-Literale" ", die direkt hintereinander" ", durch Leerzeichen getrennt, stehen" "werden zusammengefügt."
|
||||||
print(s5)
|
print(s5)
|
||||||
|
@ -91,11 +107,21 @@ s6 = ("Mit Klammerung klappt das auch "
|
||||||
"über mehrere Zeilen "
|
"über mehrere Zeilen "
|
||||||
"hinweg")
|
"hinweg")
|
||||||
print(s6)
|
print(s6)
|
||||||
|
l = [
|
||||||
|
"joe",
|
||||||
|
"bob",
|
||||||
|
"alice",
|
||||||
|
"jenny"
|
||||||
|
]
|
||||||
|
print(l)
|
||||||
|
print(l)
|
||||||
|
print(l)
|
||||||
|
print(l)
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
# Längere Strings
|
# Längere Strings
|
||||||
|
|
||||||
long_string = """Dies ist ein langer String ("triple quoted string").
|
long_string = '''Dies ist ein langer String ("triple quoted string").
|
||||||
Er kann Zeilenumbrüche enthalten.
|
Er kann Zeilenumbrüche enthalten.
|
||||||
|
|
||||||
Und Leerzeilen.
|
Und Leerzeilen.
|
||||||
|
@ -103,9 +129,10 @@ Und Leerzeilen.
|
||||||
Und auch 'einfache' oder "doppelte" Anführungszeichen.
|
Und auch 'einfache' oder "doppelte" Anführungszeichen.
|
||||||
|
|
||||||
Er endet mit drei weiteren Anführungszeichen des gleichen Typs.
|
Er endet mit drei weiteren Anführungszeichen des gleichen Typs.
|
||||||
"""
|
'''
|
||||||
print(long_string)
|
print(long_string)
|
||||||
print(repr(long_string))
|
print(repr(long_string))
|
||||||
|
s = 'Dies ist ein langer String ("triple quoted string").\nEr kann Zeilenumbrüche enthalten.\n\nUnd Leerzeilen.\n\nUnd auch \'einfache\' oder "doppelte" Anführungszeichen.\n\nEr endet mit drei weiteren Anführungszeichen des gleichen Typs.\n'
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
# Escape Sequenzen
|
# Escape Sequenzen
|
||||||
|
@ -143,11 +170,19 @@ print("straße".upper() == "STRASSE")
|
||||||
hallo = "Hallo"
|
hallo = "Hallo"
|
||||||
print(hallo)
|
print(hallo)
|
||||||
print(hallo[1])
|
print(hallo[1])
|
||||||
print(hallo[0] + 'e' + hallo[2:])
|
hello = hallo[0] + 'e' + hallo[2:]
|
||||||
|
print(hello)
|
||||||
|
print("hello" * 3)
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
# Aber das geht nicht!:
|
# Aber das geht nicht!:
|
||||||
|
|
||||||
hallo[1] = 'e'
|
hallo[1] = 'e'
|
||||||
|
|
||||||
|
# Strings sind immutable!
|
||||||
|
|
||||||
|
# %%
|
||||||
|
i = 3.141
|
||||||
|
i: int = 42
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7531,7 +7531,7 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7558,7 +7558,24 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>[5, 10, 20, 30, 50]
|
||||||
|
[0.5, 0.6, 0.8, 1.0, 1.2]
|
||||||
|
['Joe', 'Alice', 'Bob', 'Charly']
|
||||||
|
[1, 'Joe', 1.4, 'Alice', 100]
|
||||||
|
['one'] [] []
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7585,7 +7602,24 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>(5, 10, 20, 30, 50)
|
||||||
|
(0.5, 0.6, 0.8, 1.0, 1.2)
|
||||||
|
('Joe', 'Alice', 'Bob', 'Charly')
|
||||||
|
(1, 'Joe', 1.4, 'Alice', 100)
|
||||||
|
('one',) ('one',) () ()
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7607,7 +7641,22 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>[1, 2, 3, 4, 5] (1, 2, 3, 4, 5)
|
||||||
|
[10, 20, 30, 40, 50] (1, 2, 3, 4, 5)
|
||||||
|
[1, 2, 3, 4, 5]
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7623,6 +7672,20 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>['h', 'a', 'l', 'l', 'o']
|
||||||
|
('h', 'a', 'l', 'l', 'o')
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
|
@ -7634,7 +7697,7 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7652,7 +7715,23 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Frühling
|
||||||
|
Herbst
|
||||||
|
Winter
|
||||||
|
Sommer
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7667,6 +7746,25 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||||||
|
<pre>
|
||||||
|
<span class="ansi-red-fg">---------------------------------------------------------------------------</span>
|
||||||
|
<span class="ansi-red-fg">IndexError</span> Traceback (most recent call last)
|
||||||
|
<span class="ansi-green-intense-fg ansi-bold">/home/chris/work/python-kurs-softed/notebooks/containertypes.ipynb Cell 9</span> line <span class="ansi-cyan-fg">2
|
||||||
|
</span><span class="ansi-green-intense-fg ansi-bold"> <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/containertypes.ipynb#X11sZmlsZQ%3D%3D?line=0'>1</a></span> # Ungültige Indizes führen zu einem Fehler (IndexError Exception)
|
||||||
|
<span class="ansi-green-fg">----> <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/containertypes.ipynb#X11sZmlsZQ%3D%3D?line=1'>2</a></span> print(seasons[4]) # 4 Elemente => gültige Indizes 0..3
|
||||||
|
|
||||||
|
<span class="ansi-red-fg">IndexError</span>: list index out of range</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
|
@ -7756,6 +7854,7 @@ a.anchor-link {
|
||||||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||||||
<div class="cm-editor cm-s-jupyter">
|
<div class="cm-editor cm-s-jupyter">
|
||||||
<div class="highlight hl-ipython3"><pre><span></span><span class="n">l</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span> <span class="c1"># l = [0, 1, ..., 9]</span>
|
<div class="highlight hl-ipython3"><pre><span></span><span class="n">l</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span> <span class="c1"># l = [0, 1, ..., 9]</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">l</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">l</span><span class="p">[</span><span class="mi">2</span><span class="p">:</span><span class="mi">4</span><span class="p">])</span> <span class="c1"># Start ist inklusiv, Ende nicht!</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">l</span><span class="p">[</span><span class="mi">2</span><span class="p">:</span><span class="mi">4</span><span class="p">])</span> <span class="c1"># Start ist inklusiv, Ende nicht!</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -7806,11 +7905,13 @@ a.anchor-link {
|
||||||
<div class="cm-editor cm-s-jupyter">
|
<div class="cm-editor cm-s-jupyter">
|
||||||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># Sind Start und Ende leer, ist das Ergebnis eine Kopie der Liste / des Tuples</span>
|
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># Sind Start und Ende leer, ist das Ergebnis eine Kopie der Liste / des Tuples</span>
|
||||||
|
|
||||||
<span class="n">l</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span>
|
<span class="n">l1</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span>
|
||||||
<span class="n">l2</span> <span class="o">=</span> <span class="n">l</span><span class="p">[:]</span>
|
<span class="n">l2</span> <span class="o">=</span> <span class="n">l1</span><span class="p">[:]</span>
|
||||||
<span class="n">l</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">999</span>
|
<span class="n">l3</span> <span class="o">=</span> <span class="n">l1</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">l</span><span class="p">)</span>
|
<span class="n">l1</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="mi">999</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">l1</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">l2</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">l2</span><span class="p">)</span>
|
||||||
|
<span class="nb">print</span><span class="p">(</span><span class="n">l3</span><span class="p">)</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -7893,6 +7994,26 @@ a.anchor-link {
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">t</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">t</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">t2</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">t2</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">t</span> <span class="ow">is</span> <span class="n">t2</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">t</span> <span class="ow">is</span> <span class="n">t2</span><span class="p">)</span>
|
||||||
|
<span class="n">s</span> <span class="o">=</span> <span class="s2">"ein string"</span>
|
||||||
|
<span class="n">s</span> <span class="o">+=</span> <span class="s2">" und noch mehr"</span>
|
||||||
|
<span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
|
||||||
|
<span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
||||||
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-InputArea jp-Cell-inputArea">
|
||||||
|
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
|
||||||
|
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||||||
|
<div class="cm-editor cm-s-jupyter">
|
||||||
|
<div class="highlight hl-ipython3"><pre><span></span><span class="n">l</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">))</span>
|
||||||
|
<span class="kn">import</span> <span class="nn">sys</span>
|
||||||
|
<span class="n">sys</span><span class="o">.</span><span class="n">getsizeof</span><span class="p">(</span><span class="n">l</span><span class="p">)</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -7978,6 +8099,7 @@ a.anchor-link {
|
||||||
<span class="n">scores</span><span class="p">[</span><span class="s2">"white team"</span><span class="p">]</span> <span class="o">=</span> <span class="mi">45</span>
|
<span class="n">scores</span><span class="p">[</span><span class="s2">"white team"</span><span class="p">]</span> <span class="o">=</span> <span class="mi">45</span>
|
||||||
<span class="n">scores</span><span class="p">[</span><span class="s2">"rainbow team"</span><span class="p">]</span> <span class="o">=</span> <span class="mi">50</span>
|
<span class="n">scores</span><span class="p">[</span><span class="s2">"rainbow team"</span><span class="p">]</span> <span class="o">=</span> <span class="mi">50</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">scores</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">scores</span><span class="p">)</span>
|
||||||
|
<span class="k">del</span> <span class="n">scores</span><span class="p">[</span><span class="s2">"blue team"</span><span class="p">]</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -8047,7 +8169,7 @@ a.anchor-link {
|
||||||
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
|
<div class="jp-InputPrompt jp-InputArea-prompt">In [ ]:</div>
|
||||||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||||||
<div class="cm-editor cm-s-jupyter">
|
<div class="cm-editor cm-s-jupyter">
|
||||||
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># Keys müsen keine Strings, aber immutable sein</span>
|
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># Keys müssen keine Strings, aber immutable sein</span>
|
||||||
<span class="c1"># => Integers, Floats, Tuples sind ok</span>
|
<span class="c1"># => Integers, Floats, Tuples sind ok</span>
|
||||||
|
|
||||||
<span class="n">numbers</span> <span class="o">=</span> <span class="p">{</span><span class="mi">1</span><span class="p">:</span> <span class="s2">"one"</span><span class="p">,</span> <span class="mi">2</span><span class="p">:</span> <span class="s2">"two"</span><span class="p">,</span> <span class="mi">3</span><span class="p">:</span> <span class="s2">"three"</span><span class="p">}</span>
|
<span class="n">numbers</span> <span class="o">=</span> <span class="p">{</span><span class="mi">1</span><span class="p">:</span> <span class="s2">"one"</span><span class="p">,</span> <span class="mi">2</span><span class="p">:</span> <span class="s2">"two"</span><span class="p">,</span> <span class="mi">3</span><span class="p">:</span> <span class="s2">"three"</span><span class="p">}</span>
|
||||||
|
@ -8063,10 +8185,8 @@ a.anchor-link {
|
||||||
|
|
||||||
<span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">6</span><span class="p">):</span>
|
<span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">6</span><span class="p">):</span>
|
||||||
<span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">):</span>
|
<span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">):</span>
|
||||||
<span class="k">if</span> <span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">)</span> <span class="ow">in</span> <span class="n">pixels</span><span class="p">:</span>
|
<span class="n">value</span> <span class="o">=</span> <span class="n">pixels</span><span class="o">.</span><span class="n">get</span><span class="p">((</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">),</span> <span class="s2">"."</span><span class="p">)</span>
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="n">pixels</span><span class="p">[(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">)],</span> <span class="n">end</span><span class="o">=</span><span class="s2">""</span><span class="p">)</span>
|
<span class="nb">print</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s2">""</span><span class="p">)</span>
|
||||||
<span class="k">else</span><span class="p">:</span>
|
|
||||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"."</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s2">""</span><span class="p">)</span>
|
|
||||||
<span class="nb">print</span><span class="p">()</span>
|
<span class="nb">print</span><span class="p">()</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -16,9 +16,21 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 1,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"[5, 10, 20, 30, 50]\n",
|
||||||
|
"[0.5, 0.6, 0.8, 1.0, 1.2]\n",
|
||||||
|
"['Joe', 'Alice', 'Bob', 'Charly']\n",
|
||||||
|
"[1, 'Joe', 1.4, 'Alice', 100]\n",
|
||||||
|
"['one'] [] []\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Listenliterale\n",
|
"# Listenliterale\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -38,9 +50,21 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 2,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"(5, 10, 20, 30, 50)\n",
|
||||||
|
"(0.5, 0.6, 0.8, 1.0, 1.2)\n",
|
||||||
|
"('Joe', 'Alice', 'Bob', 'Charly')\n",
|
||||||
|
"(1, 'Joe', 1.4, 'Alice', 100)\n",
|
||||||
|
"('one',) ('one',) () ()\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Tuplelliterale\n",
|
"# Tuplelliterale\n",
|
||||||
"values = (5, 10, 20, 30, 50)\n",
|
"values = (5, 10, 20, 30, 50)\n",
|
||||||
|
@ -60,9 +84,19 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 3,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"[1, 2, 3, 4, 5] (1, 2, 3, 4, 5)\n",
|
||||||
|
"[10, 20, 30, 40, 50] (1, 2, 3, 4, 5)\n",
|
||||||
|
"[1, 2, 3, 4, 5]\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Umwandlung\n",
|
"# Umwandlung\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -77,9 +111,18 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 4,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"['h', 'a', 'l', 'l', 'o']\n",
|
||||||
|
"('h', 'a', 'l', 'l', 'o')\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"s = \"hallo\"\n",
|
"s = \"hallo\"\n",
|
||||||
"print(list(s))\n",
|
"print(list(s))\n",
|
||||||
|
@ -95,9 +138,20 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 5,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Frühling\n",
|
||||||
|
"Herbst\n",
|
||||||
|
"Winter\n",
|
||||||
|
"Sommer\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"seasons = [\"Frühling\", \"Sommer\", \"Herbst\", \"Winter\"]\n",
|
"seasons = [\"Frühling\", \"Sommer\", \"Herbst\", \"Winter\"]\n",
|
||||||
"print(seasons[0]) # Erstes Element hat Index 0!\n",
|
"print(seasons[0]) # Erstes Element hat Index 0!\n",
|
||||||
|
@ -108,9 +162,21 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 6,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"ename": "IndexError",
|
||||||
|
"evalue": "list index out of range",
|
||||||
|
"output_type": "error",
|
||||||
|
"traceback": [
|
||||||
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||||
|
"\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)",
|
||||||
|
"\u001b[1;32m/home/chris/work/python-kurs-softed/notebooks/containertypes.ipynb Cell 9\u001b[0m line \u001b[0;36m2\n\u001b[1;32m <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/containertypes.ipynb#X11sZmlsZQ%3D%3D?line=0'>1</a>\u001b[0m \u001b[39m# Ungültige Indizes führen zu einem Fehler (IndexError Exception)\u001b[39;00m\n\u001b[0;32m----> <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/containertypes.ipynb#X11sZmlsZQ%3D%3D?line=1'>2</a>\u001b[0m \u001b[39mprint\u001b[39m(seasons[\u001b[39m4\u001b[39;49m]) \u001b[39m# 4 Elemente => gültige Indizes 0..3\u001b[39;00m\n",
|
||||||
|
"\u001b[0;31mIndexError\u001b[0m: list index out of range"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Ungültige Indizes führen zu einem Fehler (IndexError Exception)\n",
|
"# Ungültige Indizes führen zu einem Fehler (IndexError Exception)\n",
|
||||||
"print(seasons[4]) # 4 Elemente => gültige Indizes 0..3"
|
"print(seasons[4]) # 4 Elemente => gültige Indizes 0..3"
|
||||||
|
@ -179,6 +245,7 @@
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"l = list(range(10)) # l = [0, 1, ..., 9]\n",
|
"l = list(range(10)) # l = [0, 1, ..., 9]\n",
|
||||||
|
"print(l)\n",
|
||||||
"print(l[2:4]) # Start ist inklusiv, Ende nicht!"
|
"print(l[2:4]) # Start ist inklusiv, Ende nicht!"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -214,11 +281,13 @@
|
||||||
"source": [
|
"source": [
|
||||||
"# Sind Start und Ende leer, ist das Ergebnis eine Kopie der Liste / des Tuples\n",
|
"# Sind Start und Ende leer, ist das Ergebnis eine Kopie der Liste / des Tuples\n",
|
||||||
"\n",
|
"\n",
|
||||||
"l = [1, 2, 3]\n",
|
"l1 = [1, 2, 3]\n",
|
||||||
"l2 = l[:]\n",
|
"l2 = l1[:]\n",
|
||||||
"l[0] = 999\n",
|
"l3 = l1\n",
|
||||||
"print(l)\n",
|
"l1[0] = 999\n",
|
||||||
"print(l2)"
|
"print(l1)\n",
|
||||||
|
"print(l2)\n",
|
||||||
|
"print(l3)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -280,7 +349,22 @@
|
||||||
"t += (1, 2, 3) # Tuples sind immutable, t ist eine neue Kopie!\n",
|
"t += (1, 2, 3) # Tuples sind immutable, t ist eine neue Kopie!\n",
|
||||||
"print(t)\n",
|
"print(t)\n",
|
||||||
"print(t2)\n",
|
"print(t2)\n",
|
||||||
"print(t is t2)\n"
|
"print(t is t2)\n",
|
||||||
|
"s = \"ein string\"\n",
|
||||||
|
"s += \" und noch mehr\"\n",
|
||||||
|
"i = 0\n",
|
||||||
|
"i += 1\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"l = list(range(10))\n",
|
||||||
|
"import sys\n",
|
||||||
|
"sys.getsizeof(l)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -341,7 +425,8 @@
|
||||||
"\n",
|
"\n",
|
||||||
"scores[\"white team\"] = 45\n",
|
"scores[\"white team\"] = 45\n",
|
||||||
"scores[\"rainbow team\"] = 50\n",
|
"scores[\"rainbow team\"] = 50\n",
|
||||||
"print(scores)"
|
"print(scores)\n",
|
||||||
|
"del scores[\"blue team\"]"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -391,7 +476,7 @@
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"# Keys müsen keine Strings, aber immutable sein\n",
|
"# Keys müssen keine Strings, aber immutable sein\n",
|
||||||
"# => Integers, Floats, Tuples sind ok\n",
|
"# => Integers, Floats, Tuples sind ok\n",
|
||||||
"\n",
|
"\n",
|
||||||
"numbers = {1: \"one\", 2: \"two\", 3: \"three\"}\n",
|
"numbers = {1: \"one\", 2: \"two\", 3: \"three\"}\n",
|
||||||
|
@ -407,10 +492,8 @@
|
||||||
"\n",
|
"\n",
|
||||||
"for row in range(6):\n",
|
"for row in range(6):\n",
|
||||||
" for col in range(10):\n",
|
" for col in range(10):\n",
|
||||||
" if (row, col) in pixels:\n",
|
" value = pixels.get((row, col), \".\")\n",
|
||||||
" print(pixels[(row, col)], end=\"\")\n",
|
" print(value, end=\"\")\n",
|
||||||
" else:\n",
|
|
||||||
" print(\".\", end=\"\")\n",
|
|
||||||
" print()\n"
|
" print()\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
@ -97,6 +97,7 @@ t[2] = "drei"
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
l = list(range(10)) # l = [0, 1, ..., 9]
|
l = list(range(10)) # l = [0, 1, ..., 9]
|
||||||
|
print(l)
|
||||||
print(l[2:4]) # Start ist inklusiv, Ende nicht!
|
print(l[2:4]) # Start ist inklusiv, Ende nicht!
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
|
@ -114,11 +115,13 @@ print(l[:3]) # auch hier ist der Ende-Index nicht-inklusiv!
|
||||||
# %%
|
# %%
|
||||||
# Sind Start und Ende leer, ist das Ergebnis eine Kopie der Liste / des Tuples
|
# Sind Start und Ende leer, ist das Ergebnis eine Kopie der Liste / des Tuples
|
||||||
|
|
||||||
l = [1, 2, 3]
|
l1 = [1, 2, 3]
|
||||||
l2 = l[:]
|
l2 = l1[:]
|
||||||
l[0] = 999
|
l3 = l1
|
||||||
print(l)
|
l1[0] = 999
|
||||||
|
print(l1)
|
||||||
print(l2)
|
print(l2)
|
||||||
|
print(l3)
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
# Zuweisung an Listenslices ist möglich!
|
# Zuweisung an Listenslices ist möglich!
|
||||||
|
@ -158,8 +161,17 @@ t += (1, 2, 3) # Tuples sind immutable, t ist eine neue Kopie!
|
||||||
print(t)
|
print(t)
|
||||||
print(t2)
|
print(t2)
|
||||||
print(t is t2)
|
print(t is t2)
|
||||||
|
s = "ein string"
|
||||||
|
s += " und noch mehr"
|
||||||
|
i = 0
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
|
||||||
|
# %%
|
||||||
|
l = list(range(10))
|
||||||
|
import sys
|
||||||
|
sys.getsizeof(l)
|
||||||
|
|
||||||
# %% [markdown]
|
# %% [markdown]
|
||||||
# ## Dictionaries
|
# ## Dictionaries
|
||||||
|
|
||||||
|
@ -192,6 +204,7 @@ print("The red team scored:", scores["red team"])
|
||||||
scores["white team"] = 45
|
scores["white team"] = 45
|
||||||
scores["rainbow team"] = 50
|
scores["rainbow team"] = 50
|
||||||
print(scores)
|
print(scores)
|
||||||
|
del scores["blue team"]
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
# Umwandlung
|
# Umwandlung
|
||||||
|
@ -217,7 +230,7 @@ for key, value in scores.items():
|
||||||
print("Das", key, "hat", value, "Punkte.")
|
print("Das", key, "hat", value, "Punkte.")
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
# Keys müsen keine Strings, aber immutable sein
|
# Keys müssen keine Strings, aber immutable sein
|
||||||
# => Integers, Floats, Tuples sind ok
|
# => Integers, Floats, Tuples sind ok
|
||||||
|
|
||||||
numbers = {1: "one", 2: "two", 3: "three"}
|
numbers = {1: "one", 2: "two", 3: "three"}
|
||||||
|
@ -233,10 +246,8 @@ pixels = {
|
||||||
|
|
||||||
for row in range(6):
|
for row in range(6):
|
||||||
for col in range(10):
|
for col in range(10):
|
||||||
if (row, col) in pixels:
|
value = pixels.get((row, col), ".")
|
||||||
print(pixels[(row, col)], end="")
|
print(value, end="")
|
||||||
else:
|
|
||||||
print(".", end="")
|
|
||||||
print()
|
print()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7531,7 +7531,7 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7554,7 +7554,20 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Hmm, ob das so stimmt?
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7577,7 +7590,20 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Nach Süden, nach Süden!
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7606,6 +7632,19 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Auf in den hohen Norden!
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
|
@ -7617,7 +7656,7 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7634,7 +7673,24 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Schleifendurchlauf Nr. 0
|
||||||
|
Schleifendurchlauf Nr. 1
|
||||||
|
Schleifendurchlauf Nr. 2
|
||||||
|
Schleifendurchlauf Nr. 3
|
||||||
|
Schleifendurchlauf Nr. 4
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7651,7 +7707,20 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Summe der Zahlen 1-10: 55
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7667,7 +7736,20 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>9 passt nicht in die Reihe
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7687,7 +7769,20 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>10 ... 9 ... 8 ... 7 ... 6 ... 5 ... 4 ... 3 ... 2 ... 1 ... Lift off!
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7706,7 +7801,28 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7733,7 +7849,20 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>Iteration: 142
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7754,7 +7883,20 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>q ist Buchstabe Nr. 17 des dt. Alphabets.
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7773,6 +7915,19 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>q ist Buchstabe Nr. 17 des dt. Alphabets.
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
|
@ -7784,7 +7939,7 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7803,7 +7958,20 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>256 256 100
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7820,7 +7988,21 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7839,7 +8021,20 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>5
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7856,7 +8051,21 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>15
|
||||||
|
24
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7871,6 +8080,23 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr" tabindex="0">
|
||||||
|
<pre>
|
||||||
|
<span class="ansi-cyan-fg"> Cell </span><span class="ansi-green-fg">In[32], line 2</span>
|
||||||
|
<span class="ansi-red-fg"> print(add(a=6, 10))</span>
|
||||||
|
^
|
||||||
|
<span class="ansi-red-fg">SyntaxError</span><span class="ansi-red-fg">:</span> positional argument follows keyword argument
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
|
@ -7882,7 +8108,7 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7908,7 +8134,27 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>False
|
||||||
|
True
|
||||||
|
False
|
||||||
|
True
|
||||||
|
True
|
||||||
|
False
|
||||||
|
True
|
||||||
|
True
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7927,7 +8173,23 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>True
|
||||||
|
True
|
||||||
|
True
|
||||||
|
False
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7945,7 +8207,22 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>True
|
||||||
|
True
|
||||||
|
True
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7964,7 +8241,23 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>True
|
||||||
|
True
|
||||||
|
True
|
||||||
|
False
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
|
||||||
<div class="jp-Cell-inputWrapper" tabindex="0">
|
<div class="jp-Cell-inputWrapper" tabindex="0">
|
||||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||||
</div>
|
</div>
|
||||||
|
@ -7987,6 +8280,28 @@ a.anchor-link {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="jp-Cell-outputWrapper">
|
||||||
|
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||||
|
</div>
|
||||||
|
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||||
|
<div class="jp-OutputArea-child">
|
||||||
|
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
|
||||||
|
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
|
||||||
|
<pre>False
|
||||||
|
True
|
||||||
|
True
|
||||||
|
False
|
||||||
|
True
|
||||||
|
True
|
||||||
|
True
|
||||||
|
True
|
||||||
|
False
|
||||||
|
True
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -16,9 +16,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 17,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Hmm, ob das so stimmt?\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# if / else / elif\n",
|
"# if / else / elif\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -34,9 +42,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 18,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Nach Süden, nach Süden!\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"richtung = \"s\"\n",
|
"richtung = \"s\"\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -52,9 +68,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 19,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Auf in den hohen Norden!\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# match\n",
|
"# match\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -83,9 +107,21 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 20,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Schleifendurchlauf Nr. 0\n",
|
||||||
|
"Schleifendurchlauf Nr. 1\n",
|
||||||
|
"Schleifendurchlauf Nr. 2\n",
|
||||||
|
"Schleifendurchlauf Nr. 3\n",
|
||||||
|
"Schleifendurchlauf Nr. 4\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# for\n",
|
"# for\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -95,9 +131,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 21,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Summe der Zahlen 1-10: 55\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"result = 0\n",
|
"result = 0\n",
|
||||||
"for i in range(1, 11):\n",
|
"for i in range(1, 11):\n",
|
||||||
|
@ -107,9 +151,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 22,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"9 passt nicht in die Reihe\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"for i in (2, 4, 6, 8, 9, 10):\n",
|
"for i in (2, 4, 6, 8, 9, 10):\n",
|
||||||
" if i % 2:\n",
|
" if i % 2:\n",
|
||||||
|
@ -118,9 +170,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 23,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"10 ... 9 ... 8 ... 7 ... 6 ... 5 ... 4 ... 3 ... 2 ... 1 ... Lift off!\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# while\n",
|
"# while\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -133,9 +193,25 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 24,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"10\n",
|
||||||
|
"11\n",
|
||||||
|
"12\n",
|
||||||
|
"14\n",
|
||||||
|
"15\n",
|
||||||
|
"16\n",
|
||||||
|
"17\n",
|
||||||
|
"18\n",
|
||||||
|
"19\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# continue\n",
|
"# continue\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -147,9 +223,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 25,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Iteration: 142\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# break\n",
|
"# break\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -169,9 +253,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 26,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"q ist Buchstabe Nr. 17 des dt. Alphabets.\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"alphabet = \"abcdefghifklmnopqrstuvwxyz\"\n",
|
"alphabet = \"abcdefghifklmnopqrstuvwxyz\"\n",
|
||||||
"buchstabe = \"q\"\n",
|
"buchstabe = \"q\"\n",
|
||||||
|
@ -185,9 +277,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 27,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"q ist Buchstabe Nr. 17 des dt. Alphabets.\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# einfacher:\n",
|
"# einfacher:\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -206,9 +306,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 28,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"256 256 100\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Aufruf eingebauter Funktionen\n",
|
"# Aufruf eingebauter Funktionen\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -220,9 +328,18 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 29,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"\n",
|
||||||
|
"\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# optionale Parameter\n",
|
"# optionale Parameter\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -232,9 +349,17 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 30,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"5\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# eigene Funktionen\n",
|
"# eigene Funktionen\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -246,9 +371,18 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 31,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"15\n",
|
||||||
|
"24\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Keyword arguments\n",
|
"# Keyword arguments\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -258,9 +392,18 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 32,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"ename": "SyntaxError",
|
||||||
|
"evalue": "positional argument follows keyword argument (1525390589.py, line 2)",
|
||||||
|
"output_type": "error",
|
||||||
|
"traceback": [
|
||||||
|
"\u001b[0;36m Cell \u001b[0;32mIn[32], line 2\u001b[0;36m\u001b[0m\n\u001b[0;31m print(add(a=6, 10))\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m positional argument follows keyword argument\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Das geht nicht:\n",
|
"# Das geht nicht:\n",
|
||||||
"print(add(a=6, 10))"
|
"print(add(a=6, 10))"
|
||||||
|
@ -275,9 +418,24 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 35,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"False\n",
|
||||||
|
"True\n",
|
||||||
|
"False\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"False\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"a = 10\n",
|
"a = 10\n",
|
||||||
"b = 50\n",
|
"b = 50\n",
|
||||||
|
@ -296,9 +454,20 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 36,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"False\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Negation\n",
|
"# Negation\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -310,9 +479,19 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 37,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# logische Kombination\n",
|
"# logische Kombination\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -323,23 +502,51 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 38,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"False\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"# Bool'scher (True/False) Wert von Integers, Floats und Strings \n",
|
"# Bool'scher (True/False) Wert von Integers, Floats und Strings \n",
|
||||||
"print(a > c)\n",
|
"print(a > c)\n",
|
||||||
"print(bool(a > c)) ## redundant, da Vergleichsausdrücke immer einen bool'schen Wert haben\n",
|
"print(bool(a > c)) ## redundant, da Vergleichsausdrücke immer einen bool'schen Wert haben\n",
|
||||||
"# Aber:\n",
|
"# Aber:\n",
|
||||||
"print(bool(a))\n",
|
"print(bool(a))\n",
|
||||||
"print(not a) # auch ein bool'scher Ausdruck\n"
|
"print(not a) # auch ein bool'scher Ausdruck"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": 33,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"False\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"False\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"True\n",
|
||||||
|
"False\n",
|
||||||
|
"True\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"print(bool(0))\n",
|
"print(bool(0))\n",
|
||||||
"print(bool(1))\n",
|
"print(bool(1))\n",
|
||||||
|
@ -350,7 +557,7 @@
|
||||||
"print(bool(\"True\"))\n",
|
"print(bool(\"True\"))\n",
|
||||||
"print(bool(\"False\")) # !!!\n",
|
"print(bool(\"False\")) # !!!\n",
|
||||||
"print(bool(\"\"))\n",
|
"print(bool(\"\"))\n",
|
||||||
"print(bool(\"\\0\"))\n"
|
"print(bool(\"\\0\"))"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -197,7 +197,6 @@ print(bool(a > c)) ## redundant, da Vergleichsausdrücke immer einen bool'schen
|
||||||
print(bool(a))
|
print(bool(a))
|
||||||
print(not a) # auch ein bool'scher Ausdruck
|
print(not a) # auch ein bool'scher Ausdruck
|
||||||
|
|
||||||
|
|
||||||
# %%
|
# %%
|
||||||
print(bool(0))
|
print(bool(0))
|
||||||
print(bool(1))
|
print(bool(1))
|
||||||
|
@ -211,4 +210,3 @@ print(bool(""))
|
||||||
print(bool("\0"))
|
print(bool("\0"))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
{"foo": 42, "bar": 23, "baz": [1, 2, 3]}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,313 @@
|
||||||
|
{
|
||||||
|
"cells": [
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"# Dateien"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 1,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"<class 'str'>\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"fp = open(\"../uebungen/salaries.txt\", encoding=\"utf-8\")\n",
|
||||||
|
"content = fp.read()\n",
|
||||||
|
"print(type(content))\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 2,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"<class 'bytes'>\n",
|
||||||
|
"<class 'str'>\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"fp = open(\"../uebungen/salaries.txt\", \"rb\")\n",
|
||||||
|
"content = fp.read()\n",
|
||||||
|
"print(type(content))\n",
|
||||||
|
"text = content.decode(\"utf-8\")\n",
|
||||||
|
"print(type(text))"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 3,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"'Anna: 2000\\n'\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"fp = open(\"../uebungen/salaries.txt\", mode=\"r\")\n",
|
||||||
|
"line = fp.readline()\n",
|
||||||
|
"print(repr(line))"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 4,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Anna: 2000\n",
|
||||||
|
"Mark: 3000\n",
|
||||||
|
"Judith: 3500\n",
|
||||||
|
"Thomas: 2500\n",
|
||||||
|
"Barbara: 3000\n",
|
||||||
|
"Elke: 3300\n",
|
||||||
|
"Michael: 2800\n",
|
||||||
|
"Johann: 2000\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"fp = open(\"../uebungen/salaries.txt\", mode=\"r\", encoding=\"utf-8\")\n",
|
||||||
|
"while True:\n",
|
||||||
|
" line = fp.readline()\n",
|
||||||
|
" if not line:\n",
|
||||||
|
" break\n",
|
||||||
|
" print(line, end=\"\")"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 5,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"<class 'list'>\n",
|
||||||
|
"['Anna: 2000\\n', 'Mark: 3000\\n', 'Judith: 3500\\n', 'Thomas: 2500\\n', 'Barbara: 3000\\n', 'Elke: 3300\\n', 'Michael: 2800\\n', 'Johann: 2000\\n']\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"fp = open(\"../uebungen/salaries.txt\", mode=\"r\", encoding=\"utf-8\")\n",
|
||||||
|
"lines = fp.readlines()\n",
|
||||||
|
"print(type(lines))\n",
|
||||||
|
"print(lines)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 6,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Anna: 2000\n",
|
||||||
|
"Mark: 3000\n",
|
||||||
|
"Judith: 3500\n",
|
||||||
|
"Thomas: 2500\n",
|
||||||
|
"Barbara: 3000\n",
|
||||||
|
"Elke: 3300\n",
|
||||||
|
"Michael: 2800\n",
|
||||||
|
"Johann: 2000\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"fp = open(\"../uebungen/salaries.txt\", mode=\"r\", encoding=\"utf-8\")\n",
|
||||||
|
"for line in fp:\n",
|
||||||
|
" print(line, end=\"\")"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 7,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Anna: 2000\n",
|
||||||
|
"Mark: 3000\n",
|
||||||
|
"Judith: 3500\n",
|
||||||
|
"Thomas: 2500\n",
|
||||||
|
"Barbara: 3000\n",
|
||||||
|
"Elke: 3300\n",
|
||||||
|
"Michael: 2800\n",
|
||||||
|
"Johann: 2000\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"fp = open(\"../uebungen/salaries.txt\", mode=\"r\", encoding=\"utf-8\")\n",
|
||||||
|
"for line in fp:\n",
|
||||||
|
" print(line, end=\"\")\n",
|
||||||
|
"\n",
|
||||||
|
"fp.close()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 8,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"lines = open(\"../uebungen/salaries.txt\", encoding=\"utf-8\").readlines()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 9,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Anna: 2000\n",
|
||||||
|
"Mark: 3000\n",
|
||||||
|
"Judith: 3500\n",
|
||||||
|
"Thomas: 2500\n",
|
||||||
|
"Barbara: 3000\n",
|
||||||
|
"Elke: 3300\n",
|
||||||
|
"Michael: 2800\n",
|
||||||
|
"Johann: 2000\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"with open(\"../uebungen/salaries.txt\") as fp:\n",
|
||||||
|
" for line in fp:\n",
|
||||||
|
" print(line, end=\"\")"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"# Pseudo Code! Nicht ausführbar\n",
|
||||||
|
"fp = open(\"../uebungen/salaries.txt\")\n",
|
||||||
|
"ctx = new_context(fp)\n",
|
||||||
|
"fp.open_context(ctx)\n",
|
||||||
|
"# code block\n",
|
||||||
|
"fp.end_context(ctx)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"# Pseudo Code! Nicht ausführbar\n",
|
||||||
|
"\n",
|
||||||
|
"try:\n",
|
||||||
|
" fp = open(\"datei\")\n",
|
||||||
|
"except FileNotFoundError:\n",
|
||||||
|
" # code\n",
|
||||||
|
"except OSError:\n",
|
||||||
|
" # code"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 10,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"[1, 2, 3]\n",
|
||||||
|
"{\"foo\": 42, \"bar\": 23}\n",
|
||||||
|
"{\"foo\": 42, \"bar\": 23, \"baz\": [1, 2, 3]}\n",
|
||||||
|
"[{\"foo\": 42, \"bar\": 23}, {\"foo\": 42, \"bar\": 23, \"baz\": [1, 2, 3]}]\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"import json\n",
|
||||||
|
"\n",
|
||||||
|
"data = json.loads(\"[1, 2, 3]\")\n",
|
||||||
|
"print(data)\n",
|
||||||
|
"d1 = {\"foo\": 42, \"bar\": 23}\n",
|
||||||
|
"print(json.dumps(d1))\n",
|
||||||
|
"d2 = {\"foo\": 42, \"bar\": 23, \"baz\": [1, 2, 3]}\n",
|
||||||
|
"print(json.dumps(d2))\n",
|
||||||
|
"l = [d1, d2]\n",
|
||||||
|
"print(json.dumps(l))\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 11,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"data = {\"foo\": 42, \"bar\": 23, \"baz\": [1, 2, 3]}\n",
|
||||||
|
"with open(\"data.json\", \"w\") as fp:\n",
|
||||||
|
" json.dump(data, fp)\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 12,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"with open(\"data.json\") as fp:\n",
|
||||||
|
" data2 = json.load(fp)\n",
|
||||||
|
"\n",
|
||||||
|
"assert data == data2, \"Not equal\""
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "softed",
|
||||||
|
"language": "python",
|
||||||
|
"name": "softed"
|
||||||
|
},
|
||||||
|
"language_info": {
|
||||||
|
"codemirror_mode": {
|
||||||
|
"name": "ipython",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"file_extension": ".py",
|
||||||
|
"mimetype": "text/x-python",
|
||||||
|
"name": "python",
|
||||||
|
"nbconvert_exporter": "python",
|
||||||
|
"pygments_lexer": "ipython3",
|
||||||
|
"version": "3.11.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nbformat": 4,
|
||||||
|
"nbformat_minor": 2
|
||||||
|
}
|
|
@ -0,0 +1,99 @@
|
||||||
|
# %% [markdown]
|
||||||
|
# # Dateien
|
||||||
|
|
||||||
|
# %%
|
||||||
|
fp = open("../uebungen/salaries.txt", encoding="utf-8")
|
||||||
|
content = fp.read()
|
||||||
|
print(type(content))
|
||||||
|
|
||||||
|
|
||||||
|
# %%
|
||||||
|
fp = open("../uebungen/salaries.txt", "rb")
|
||||||
|
content = fp.read()
|
||||||
|
print(type(content))
|
||||||
|
text = content.decode("utf-8")
|
||||||
|
print(type(text))
|
||||||
|
|
||||||
|
# %%
|
||||||
|
fp = open("../uebungen/salaries.txt", mode="r")
|
||||||
|
line = fp.readline()
|
||||||
|
print(repr(line))
|
||||||
|
|
||||||
|
# %%
|
||||||
|
fp = open("../uebungen/salaries.txt", mode="r", encoding="utf-8")
|
||||||
|
while True:
|
||||||
|
line = fp.readline()
|
||||||
|
if not line:
|
||||||
|
break
|
||||||
|
print(line, end="")
|
||||||
|
|
||||||
|
# %%
|
||||||
|
fp = open("../uebungen/salaries.txt", mode="r", encoding="utf-8")
|
||||||
|
lines = fp.readlines()
|
||||||
|
print(type(lines))
|
||||||
|
print(lines)
|
||||||
|
|
||||||
|
# %%
|
||||||
|
fp = open("../uebungen/salaries.txt", mode="r", encoding="utf-8")
|
||||||
|
for line in fp:
|
||||||
|
print(line, end="")
|
||||||
|
|
||||||
|
# %%
|
||||||
|
fp = open("../uebungen/salaries.txt", mode="r", encoding="utf-8")
|
||||||
|
for line in fp:
|
||||||
|
print(line, end="")
|
||||||
|
|
||||||
|
fp.close()
|
||||||
|
|
||||||
|
# %%
|
||||||
|
lines = open("../uebungen/salaries.txt", encoding="utf-8").readlines()
|
||||||
|
|
||||||
|
# %%
|
||||||
|
with open("../uebungen/salaries.txt") as fp:
|
||||||
|
for line in fp:
|
||||||
|
print(line, end="")
|
||||||
|
|
||||||
|
# %%
|
||||||
|
# Pseudo Code! Nicht ausführbar
|
||||||
|
fp = open("../uebungen/salaries.txt")
|
||||||
|
ctx = new_context(fp)
|
||||||
|
fp.open_context(ctx)
|
||||||
|
# code block
|
||||||
|
fp.end_context(ctx)
|
||||||
|
|
||||||
|
# %%
|
||||||
|
# Pseudo Code! Nicht ausführbar
|
||||||
|
|
||||||
|
try:
|
||||||
|
fp = open("datei")
|
||||||
|
except FileNotFoundError:
|
||||||
|
# code
|
||||||
|
except OSError:
|
||||||
|
# code
|
||||||
|
|
||||||
|
# %%
|
||||||
|
import json
|
||||||
|
|
||||||
|
data = json.loads("[1, 2, 3]")
|
||||||
|
print(data)
|
||||||
|
d1 = {"foo": 42, "bar": 23}
|
||||||
|
print(json.dumps(d1))
|
||||||
|
d2 = {"foo": 42, "bar": 23, "baz": [1, 2, 3]}
|
||||||
|
print(json.dumps(d2))
|
||||||
|
l = [d1, d2]
|
||||||
|
print(json.dumps(l))
|
||||||
|
|
||||||
|
|
||||||
|
# %%
|
||||||
|
data = {"foo": 42, "bar": 23, "baz": [1, 2, 3]}
|
||||||
|
with open("data.json", "w") as fp:
|
||||||
|
json.dump(data, fp)
|
||||||
|
|
||||||
|
|
||||||
|
# %%
|
||||||
|
with open("data.json") as fp:
|
||||||
|
data2 = json.load(fp)
|
||||||
|
|
||||||
|
assert data == data2, "Not equal"
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,337 @@
|
||||||
|
{
|
||||||
|
"cells": [
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"# Objekte und OO-Programmierung"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"```py\n",
|
||||||
|
"# Ausgangslage\n",
|
||||||
|
"employees = {\n",
|
||||||
|
" \"name 1\": {\n",
|
||||||
|
" \"salary\": ...,\n",
|
||||||
|
" \"skills\": [...],\n",
|
||||||
|
" },\n",
|
||||||
|
" \"name 2\": {\n",
|
||||||
|
" \"salary\": ...,\n",
|
||||||
|
" \"skills\": [...],\n",
|
||||||
|
" },\n",
|
||||||
|
" ...\n",
|
||||||
|
"}\n",
|
||||||
|
"```"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 1,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Unknown\n",
|
||||||
|
"0\n",
|
||||||
|
"[]\n",
|
||||||
|
"Unknown\n",
|
||||||
|
"0\n",
|
||||||
|
"[]\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"class Employee:\n",
|
||||||
|
" name = \"Unknown\"\n",
|
||||||
|
" gehalt = 0\n",
|
||||||
|
" skills = []\n",
|
||||||
|
"\n",
|
||||||
|
"employee1 = Employee()\n",
|
||||||
|
"print(employee1.name)\n",
|
||||||
|
"print(employee1.gehalt)\n",
|
||||||
|
"print(employee1.skills)\n",
|
||||||
|
"\n",
|
||||||
|
"employee2 = Employee()\n",
|
||||||
|
"print(employee2.name)\n",
|
||||||
|
"print(employee2.gehalt)\n",
|
||||||
|
"print(employee2.skills)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 2,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Joe Doe\n",
|
||||||
|
"Unknown\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"employee1.name = \"Joe Doe\"\n",
|
||||||
|
"print(employee1.name)\n",
|
||||||
|
"print(employee2.name)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 3,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Init!\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"class Employee:\n",
|
||||||
|
" def __init__(self):\n",
|
||||||
|
" print(\"Init!\")\n",
|
||||||
|
" \n",
|
||||||
|
"employee3 = Employee()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 4,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"<class '__main__.Employee'>\n",
|
||||||
|
"Joe Doe\n",
|
||||||
|
"2000\n",
|
||||||
|
"[]\n",
|
||||||
|
"Jane Oh\n",
|
||||||
|
"3000\n",
|
||||||
|
"['marketing']\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"class Employee:\n",
|
||||||
|
" def __init__(self, name=\"\", gehalt=0, skills=[]):\n",
|
||||||
|
" self.name = name\n",
|
||||||
|
" self.gehalt = gehalt\n",
|
||||||
|
"\n",
|
||||||
|
" if skills is None:\n",
|
||||||
|
" self.skills = []\n",
|
||||||
|
" else:\n",
|
||||||
|
" self.skills = skills\n",
|
||||||
|
"\n",
|
||||||
|
"employee4 = Employee(\"Joe Doe\", 2000, [])\n",
|
||||||
|
"print(type(employee4))\n",
|
||||||
|
"print(employee4.name)\n",
|
||||||
|
"print(employee4.gehalt)\n",
|
||||||
|
"print(employee4.skills)#\n",
|
||||||
|
"\n",
|
||||||
|
"employee5 = Employee(\"Jane Oh\", 3000, [\"marketing\"])\n",
|
||||||
|
"print(employee5.name)\n",
|
||||||
|
"print(employee5.gehalt)\n",
|
||||||
|
"print(employee5.skills)\n",
|
||||||
|
"\n",
|
||||||
|
"# Geht nicht, weil die Klasse kein Attribut \"name\" definiert\n",
|
||||||
|
"#print(Employee.name)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 5,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"\n",
|
||||||
|
"0\n",
|
||||||
|
"[]\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"employee6 = Employee()\n",
|
||||||
|
"print(employee6.name)\n",
|
||||||
|
"print(employee6.gehalt)\n",
|
||||||
|
"print(employee6.skills)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 6,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Employee 'Bob Smith'\n",
|
||||||
|
" gehalt: 0\n",
|
||||||
|
" skills:\n",
|
||||||
|
" - software development\n",
|
||||||
|
" - it support\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"class Employee:\n",
|
||||||
|
" def __init__(self, name=\"\", gehalt=0, skills=[]):\n",
|
||||||
|
" self.name = name\n",
|
||||||
|
" self.gehalt = gehalt\n",
|
||||||
|
"\n",
|
||||||
|
" if skills is None:\n",
|
||||||
|
" self.skills = []\n",
|
||||||
|
" else:\n",
|
||||||
|
" self.skills = skills\n",
|
||||||
|
"\n",
|
||||||
|
" def __str__(self):\n",
|
||||||
|
" s = [f\"Employee '{self.name}'\"]\n",
|
||||||
|
" s.append(f\" gehalt: {self.gehalt}\")\n",
|
||||||
|
" s.append(f\" skills:\")\n",
|
||||||
|
" for skill in self.skills:\n",
|
||||||
|
" s.append(f\" - {skill}\")\n",
|
||||||
|
" return \"\\n\".join(s)\n",
|
||||||
|
"\n",
|
||||||
|
"\"\"\"\n",
|
||||||
|
"Employee 'name':\n",
|
||||||
|
" gehalt: XXX\n",
|
||||||
|
" skills:\n",
|
||||||
|
" - skill 1\n",
|
||||||
|
" - skill 2\n",
|
||||||
|
"\"\"\"\n",
|
||||||
|
"employee7 = Employee(name=\"Bob Smith\", skills=[\"software development\", \"it support\"])\n",
|
||||||
|
"print(employee7)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 7,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"Hallo, Welt\n",
|
||||||
|
"Guten Tag, Welt\n",
|
||||||
|
"Welt, Guten Tag\n",
|
||||||
|
"Welt, Guten Tag\n",
|
||||||
|
"Guten Tag, Welt\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"# Exkurs: Strings und `format()`\n",
|
||||||
|
"\n",
|
||||||
|
"s = \"Hallo, {}\"\n",
|
||||||
|
"print(s.format(\"Welt\"))\n",
|
||||||
|
"\n",
|
||||||
|
"s = \"{}, {}\"\n",
|
||||||
|
"print(s.format(\"Guten Tag\", \"Welt\"))\n",
|
||||||
|
"\n",
|
||||||
|
"s = \"{name}, {grussformel}\"\n",
|
||||||
|
"print(s.format(grussformel=\"Guten Tag\", name=\"Welt\"))\n",
|
||||||
|
"\n",
|
||||||
|
"grussformel=\"Guten Tag\"\n",
|
||||||
|
"name=\"Welt\"\n",
|
||||||
|
"print(f\"{name}, {grussformel}\")\n",
|
||||||
|
"\n",
|
||||||
|
"\n",
|
||||||
|
"def sagehallo(name):\n",
|
||||||
|
" # 'grussformel' ist eine globale variable!\n",
|
||||||
|
" print(f\"{grussformel}, {name}\")\n",
|
||||||
|
"\n",
|
||||||
|
"sagehallo(\"Welt\")"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": 9,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [
|
||||||
|
{
|
||||||
|
"name": "stdout",
|
||||||
|
"output_type": "stream",
|
||||||
|
"text": [
|
||||||
|
"5000\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ename": "ValueError",
|
||||||
|
"evalue": "Zu hohes gehalt!",
|
||||||
|
"output_type": "error",
|
||||||
|
"traceback": [
|
||||||
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||||
|
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
|
||||||
|
"\u001b[1;32m/home/chris/work/python-kurs-softed/notebooks/objects.ipynb Cell 10\u001b[0m line \u001b[0;36m2\n\u001b[1;32m <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/objects.ipynb#X12sZmlsZQ%3D%3D?line=21'>22</a>\u001b[0m \u001b[39mprint\u001b[39m(employee8\u001b[39m.\u001b[39mgehalt)\n\u001b[1;32m <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/objects.ipynb#X12sZmlsZQ%3D%3D?line=22'>23</a>\u001b[0m \u001b[39m# ValueError!\u001b[39;00m\n\u001b[0;32m---> <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/objects.ipynb#X12sZmlsZQ%3D%3D?line=23'>24</a>\u001b[0m employee8\u001b[39m.\u001b[39;49mset_gehalt(\u001b[39m4000\u001b[39;49m)\n\u001b[1;32m <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/objects.ipynb#X12sZmlsZQ%3D%3D?line=24'>25</a>\u001b[0m \u001b[39m# TypeError!\u001b[39;00m\n\u001b[1;32m <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/objects.ipynb#X12sZmlsZQ%3D%3D?line=25'>26</a>\u001b[0m employee8\u001b[39m.\u001b[39mset_gehalt(\u001b[39m\"\u001b[39m\u001b[39mein sack mehl\u001b[39m\u001b[39m\"\u001b[39m)\n",
|
||||||
|
"\u001b[1;32m/home/chris/work/python-kurs-softed/notebooks/objects.ipynb Cell 10\u001b[0m line \u001b[0;36m1\n\u001b[1;32m <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/objects.ipynb#X12sZmlsZQ%3D%3D?line=14'>15</a>\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mgehalt \u001b[39m=\u001b[39m neues_gehalt\n\u001b[1;32m <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/objects.ipynb#X12sZmlsZQ%3D%3D?line=15'>16</a>\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[0;32m---> <a href='vscode-notebook-cell:/home/chris/work/python-kurs-softed/notebooks/objects.ipynb#X12sZmlsZQ%3D%3D?line=16'>17</a>\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mValueError\u001b[39;00m(\u001b[39m\"\u001b[39m\u001b[39mZu hohes gehalt!\u001b[39m\u001b[39m\"\u001b[39m)\n",
|
||||||
|
"\u001b[0;31mValueError\u001b[0m: Zu hohes gehalt!"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": [
|
||||||
|
"class Employee:\n",
|
||||||
|
" def __init__(self, name=\"\", gehalt=0, skills=[]):\n",
|
||||||
|
" self.name = name\n",
|
||||||
|
" self.gehalt = gehalt\n",
|
||||||
|
"\n",
|
||||||
|
" if skills is None:\n",
|
||||||
|
" self.skills = []\n",
|
||||||
|
" else:\n",
|
||||||
|
" self.skills = skills\n",
|
||||||
|
"\n",
|
||||||
|
" def set_gehalt(self, neues_gehalt):\n",
|
||||||
|
" if not isinstance(neues_gehalt, int):\n",
|
||||||
|
" raise TypeError(\"gehalt muss ein Integer sein\")\n",
|
||||||
|
" if neues_gehalt < 4000:\n",
|
||||||
|
" self.gehalt = neues_gehalt\n",
|
||||||
|
" else:\n",
|
||||||
|
" raise ValueError(\"Zu hohes gehalt!\")\n",
|
||||||
|
"\n",
|
||||||
|
"employee8 = Employee()\n",
|
||||||
|
"# Ok\n",
|
||||||
|
"employee8.gehalt = 5000\n",
|
||||||
|
"print(employee8.gehalt)\n",
|
||||||
|
"# ValueError!\n",
|
||||||
|
"employee8.set_gehalt(4000)\n",
|
||||||
|
"# TypeError!\n",
|
||||||
|
"employee8.set_gehalt(\"ein sack mehl\")\n"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "softed",
|
||||||
|
"language": "python",
|
||||||
|
"name": "softed"
|
||||||
|
},
|
||||||
|
"language_info": {
|
||||||
|
"codemirror_mode": {
|
||||||
|
"name": "ipython",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"file_extension": ".py",
|
||||||
|
"mimetype": "text/x-python",
|
||||||
|
"name": "python",
|
||||||
|
"nbconvert_exporter": "python",
|
||||||
|
"pygments_lexer": "ipython3",
|
||||||
|
"version": "3.11.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nbformat": 4,
|
||||||
|
"nbformat_minor": 2
|
||||||
|
}
|
|
@ -0,0 +1,160 @@
|
||||||
|
# %% [markdown]
|
||||||
|
# # Objekte und OO-Programmierung
|
||||||
|
|
||||||
|
# %% [markdown]
|
||||||
|
# ```py
|
||||||
|
# # Ausgangslage
|
||||||
|
# employees = {
|
||||||
|
# "name 1": {
|
||||||
|
# "salary": ...,
|
||||||
|
# "skills": [...],
|
||||||
|
# },
|
||||||
|
# "name 2": {
|
||||||
|
# "salary": ...,
|
||||||
|
# "skills": [...],
|
||||||
|
# },
|
||||||
|
# ...
|
||||||
|
# }
|
||||||
|
# ```
|
||||||
|
|
||||||
|
# %%
|
||||||
|
class Employee:
|
||||||
|
name = "Unknown"
|
||||||
|
gehalt = 0
|
||||||
|
skills = []
|
||||||
|
|
||||||
|
employee1 = Employee()
|
||||||
|
print(employee1.name)
|
||||||
|
print(employee1.gehalt)
|
||||||
|
print(employee1.skills)
|
||||||
|
|
||||||
|
employee2 = Employee()
|
||||||
|
print(employee2.name)
|
||||||
|
print(employee2.gehalt)
|
||||||
|
print(employee2.skills)
|
||||||
|
|
||||||
|
# %%
|
||||||
|
employee1.name = "Joe Doe"
|
||||||
|
print(employee1.name)
|
||||||
|
print(employee2.name)
|
||||||
|
|
||||||
|
# %%
|
||||||
|
class Employee:
|
||||||
|
def __init__(self):
|
||||||
|
print("Init!")
|
||||||
|
|
||||||
|
employee3 = Employee()
|
||||||
|
|
||||||
|
# %%
|
||||||
|
class Employee:
|
||||||
|
def __init__(self, name="", gehalt=0, skills=[]):
|
||||||
|
self.name = name
|
||||||
|
self.gehalt = gehalt
|
||||||
|
|
||||||
|
if skills is None:
|
||||||
|
self.skills = []
|
||||||
|
else:
|
||||||
|
self.skills = skills
|
||||||
|
|
||||||
|
employee4 = Employee("Joe Doe", 2000, [])
|
||||||
|
print(type(employee4))
|
||||||
|
print(employee4.name)
|
||||||
|
print(employee4.gehalt)
|
||||||
|
print(employee4.skills)#
|
||||||
|
|
||||||
|
employee5 = Employee("Jane Oh", 3000, ["marketing"])
|
||||||
|
print(employee5.name)
|
||||||
|
print(employee5.gehalt)
|
||||||
|
print(employee5.skills)
|
||||||
|
|
||||||
|
# Geht nicht, weil die Klasse kein Attribut "name" definiert
|
||||||
|
#print(Employee.name)
|
||||||
|
|
||||||
|
# %%
|
||||||
|
employee6 = Employee()
|
||||||
|
print(employee6.name)
|
||||||
|
print(employee6.gehalt)
|
||||||
|
print(employee6.skills)
|
||||||
|
|
||||||
|
# %%
|
||||||
|
class Employee:
|
||||||
|
def __init__(self, name="", gehalt=0, skills=[]):
|
||||||
|
self.name = name
|
||||||
|
self.gehalt = gehalt
|
||||||
|
|
||||||
|
if skills is None:
|
||||||
|
self.skills = []
|
||||||
|
else:
|
||||||
|
self.skills = skills
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
s = [f"Employee '{self.name}'"]
|
||||||
|
s.append(f" gehalt: {self.gehalt}")
|
||||||
|
s.append(f" skills:")
|
||||||
|
for skill in self.skills:
|
||||||
|
s.append(f" - {skill}")
|
||||||
|
return "\n".join(s)
|
||||||
|
|
||||||
|
"""
|
||||||
|
Employee 'name':
|
||||||
|
gehalt: XXX
|
||||||
|
skills:
|
||||||
|
- skill 1
|
||||||
|
- skill 2
|
||||||
|
"""
|
||||||
|
employee7 = Employee(name="Bob Smith", skills=["software development", "it support"])
|
||||||
|
print(employee7)
|
||||||
|
|
||||||
|
# %%
|
||||||
|
# Exkurs: Strings und `format()`
|
||||||
|
|
||||||
|
s = "Hallo, {}"
|
||||||
|
print(s.format("Welt"))
|
||||||
|
|
||||||
|
s = "{}, {}"
|
||||||
|
print(s.format("Guten Tag", "Welt"))
|
||||||
|
|
||||||
|
s = "{name}, {grussformel}"
|
||||||
|
print(s.format(grussformel="Guten Tag", name="Welt"))
|
||||||
|
|
||||||
|
grussformel="Guten Tag"
|
||||||
|
name="Welt"
|
||||||
|
print(f"{name}, {grussformel}")
|
||||||
|
|
||||||
|
|
||||||
|
def sagehallo(name):
|
||||||
|
# 'grussformel' ist eine globale variable!
|
||||||
|
print(f"{grussformel}, {name}")
|
||||||
|
|
||||||
|
sagehallo("Welt")
|
||||||
|
|
||||||
|
# %%
|
||||||
|
class Employee:
|
||||||
|
def __init__(self, name="", gehalt=0, skills=[]):
|
||||||
|
self.name = name
|
||||||
|
self.gehalt = gehalt
|
||||||
|
|
||||||
|
if skills is None:
|
||||||
|
self.skills = []
|
||||||
|
else:
|
||||||
|
self.skills = skills
|
||||||
|
|
||||||
|
def set_gehalt(self, neues_gehalt):
|
||||||
|
if not isinstance(neues_gehalt, int):
|
||||||
|
raise TypeError("gehalt muss ein Integer sein")
|
||||||
|
if neues_gehalt < 4000:
|
||||||
|
self.gehalt = neues_gehalt
|
||||||
|
else:
|
||||||
|
raise ValueError("Zu hohes gehalt!")
|
||||||
|
|
||||||
|
employee8 = Employee()
|
||||||
|
# Ok
|
||||||
|
employee8.gehalt = 5000
|
||||||
|
print(employee8.gehalt)
|
||||||
|
# ValueError!
|
||||||
|
employee8.set_gehalt(4000)
|
||||||
|
# TypeError!
|
||||||
|
employee8.set_gehalt("ein sack mehl")
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue