tutorium 03
This commit is contained in:
55
Tutorium/tut03/GIT.md
Normal file
55
Tutorium/tut03/GIT.md
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# Beispiel Workflow mit Git
|
||||||
|
|
||||||
|
## SSH-Key generieren
|
||||||
|
|
||||||
|
1. `ssh-keygen` in der Konsole eingeben
|
||||||
|
- generiert einen privaten und öffentlichen Schlüssel in euer SSH-Verzeichnis `~/.ssh`
|
||||||
|
2. Kopiert den Inhalt des öffentlichen Schlüssel `<key-name>.pub`
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cd ~/.ssh # wir gehen in unser .ssh directory
|
||||||
|
ssh-keygen # danach key namen eingeben und enter bis zum ende
|
||||||
|
cat eidp_key.pub # gibt den public key aus, diesen kopieren
|
||||||
|
```
|
||||||
|
|
||||||
|
Wie das ganze aussieht:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## SSH-Key zum Git hinzufügen
|
||||||
|
|
||||||
|
1. Settings
|
||||||
|
2. Keys
|
||||||
|
3. Add Key
|
||||||
|
4. Kopiert den Inhalt von `<key-name>.pub` in Content
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Repository clone und VSCode
|
||||||
|
|
||||||
|
1. Wir kopieren oder besser gesagt klonen das Git Repository mit `git clone <url>`
|
||||||
|
- die URL findet ihr rechts oben im repository auf der Website
|
||||||
|
2. Das Repository wird in einem Ordner gespeichert der wie das Repository heißt
|
||||||
|
3. Jetzt öffnen wir diesen Ordner in VSCode
|
||||||
|
4. Über den Git Tab können wir Datein hinzufügen und hochladen oder Änderungen herunterladen
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
alternative kann man auch direkt in VSCode das Repository herunterladen
|
||||||
|
|
||||||
|
1. Git-Tab auswählen
|
||||||
|

|
||||||
|
2. Clone Repository
|
||||||
|
3. Die URL zum Repository einfügen
|
||||||
|
4. Speicherort auswählen
|
||||||
|
|
||||||
|
Nach dem öffnen sieht das dann so aus:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Dateien über Git-Tab hochladen
|
||||||
|
|
||||||
|
1. Fügt die Datein mit dem `+` hinzu
|
||||||
|
2. Gebt eine Nachricht ein und drückt auf `Commit`
|
||||||
|
3. Zum endgültigen hochladen `Sync changes`
|
||||||
|

|
173
Tutorium/tut03/README.md
Normal file
173
Tutorium/tut03/README.md
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
---
|
||||||
|
marp: true
|
||||||
|
paginate: true
|
||||||
|
theme: rose-pine
|
||||||
|
footer: EidP 2024 - Nils Pukropp - https://git.narl.io/nvrl/eidp-2024
|
||||||
|
style: ".columns {\r display: grid;\r grid-template-columns: repeat(2, minmax(0, 1fr));\r gap: 1rem;\r }"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Tutorium 03 - 2024-10-31
|
||||||
|
|
||||||
|
Blatt 02, Workflow, Blatt 03
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Blatt 02
|
||||||
|
|
||||||
|
Welche Fehler wurden gemacht?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Hochladen
|
||||||
|
|
||||||
|
- Probleme beim Hochladen
|
||||||
|
- Binary statt Textdatei
|
||||||
|
- Tutorial: [Beispiel Workflow mit Git](./GIT.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# keine korrekte Ausgabe
|
||||||
|
|
||||||
|
<div class="columns">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
- Expectation:
|
||||||
|
|
||||||
|
```
|
||||||
|
p = -4.0
|
||||||
|
q = -5.0
|
||||||
|
x1 = 5.0
|
||||||
|
x2 = -1.0
|
||||||
|
```
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
- Reality:
|
||||||
|
|
||||||
|
```
|
||||||
|
Geben Sie nun einen Wert für p an:
|
||||||
|
> -4.0
|
||||||
|
Geben Sie nun einen Wert für q an:
|
||||||
|
> -5.0
|
||||||
|
Die Lösungsmenge ist L := {5.0, -1.0}
|
||||||
|
```
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
- Gebt bitte alles exakt wie vorgeschrieben in der Console aus!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# One-Liner in 2.4
|
||||||
|
|
||||||
|
```python
|
||||||
|
print((((((float(input())) * 2) + 3) ** 2) - (float(input()))) / 4)
|
||||||
|
```
|
||||||
|
|
||||||
|
Falsch, weil `input` zwei mal aufgerufen wird
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# One-Liner in 2.4
|
||||||
|
|
||||||
|
```python
|
||||||
|
print((((((float(x := input())) * 2) + 3) ** 2) - (float(x))) / 4)
|
||||||
|
```
|
||||||
|
|
||||||
|
Das wäre korrekt, aber `:=` kam noch nicht in der Vorlesung vor
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Blatt 02 - Vorrechnen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Recap Vorlesung
|
||||||
|
Funktionen, Loops
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Funktionen
|
||||||
|
|
||||||
|
- Ihr habt schon die ganze Zeit mit Funktionen gearbeitet
|
||||||
|
- `print(...)`
|
||||||
|
- `int(...)`
|
||||||
|
- ...
|
||||||
|
- Funktionen haben ihren eigenen *Scope*
|
||||||
|
- Funktionen sollten auch nur lokale Objekte verwenden
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```python
|
||||||
|
def my_func(param1: type, param2: type) -> type:
|
||||||
|
...
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
my_func(...)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```python
|
||||||
|
def add(a: int, b: int) -> int:
|
||||||
|
return a + b
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
print(add(1, 2)) # 3
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Was ist `if __name__ == '__main__'?
|
||||||
|
|
||||||
|
- Damit bestimmter Code auch nur ausgeführt wird wenn wir die Datei als Hauptdatei ausführen
|
||||||
|
- Beim importieren von anderen Python-Datein möchten wir nicht dass irgend etwas Ausgegeben wird/Eingaben erfragt werden
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Iteration - for
|
||||||
|
|
||||||
|
```python
|
||||||
|
for some_item in some_iterable:
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
- Wenn wir für jedes *Element* in einer *Menge* machen wollen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```python
|
||||||
|
def print_even_numbers(max: int):
|
||||||
|
for num in range(0, max + 1):
|
||||||
|
print(num)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Iteration - while
|
||||||
|
|
||||||
|
```python
|
||||||
|
while condition:
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
- Wenn wir eine Bendingung haben die vor jedem Durchlauf gelten muss
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
```python
|
||||||
|
def find_next_prime(n: int) -> int:
|
||||||
|
next_prime = n + 1
|
||||||
|
while !is_prime(next_prime):
|
||||||
|
next_prime += 1
|
||||||
|
return next_prime
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Blatt 03
|
BIN
Tutorium/tut03/tutorium-03.pdf
Normal file
BIN
Tutorium/tut03/tutorium-03.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user