Browse Source

Installation

main
Oliver Hofmann 5 months ago
parent
commit
fc53e01f38

+ 3
- 0
.idea/misc.xml View File

@@ -4,4 +4,7 @@
<option name="sdkName" value="Python 3.12 (prog1)" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (prog1)" project-jdk-type="Python SDK" />
<component name="PyPackaging">
<option name="earlyReleasesAsUpgrades" value="true" />
</component>
</project>

+ 13
- 0
00_Reeborg/solutions/Endlos.py View File

@@ -0,0 +1,13 @@
while front_is_clear():
move()
turn_left()
turn_left()
################################################################
# WARNING: Do not change this comment.
# Library Code is below.
################################################################
def turn_around():
turn_left()
turn_left()

+ 12
- 0
00_Reeborg/solutions/Erdbeerpflücker.py View File

@@ -0,0 +1,12 @@
for _ in range(1,10):
if object_here():
take()
move()
################################################################
# WARNING: Do not change this comment.
# Library Code is below.
################################################################
def turn_around():
turn_left()
turn_left()

+ 13
- 0
00_Reeborg/solutions/Erdbeerzeile.py View File

@@ -0,0 +1,13 @@
for i in range(1, 10):
put()
move()
put()

################################################################
# WARNING: Do not change this comment.
# Library Code is below.
################################################################
def turn_right():
turn_left()
turn_left()
turn_left()

+ 24
- 0
00_Reeborg/solutions/Good Morning.py View File

@@ -0,0 +1,24 @@
def turn_right():
turn_left()
turn_left()
turn_left()

move()
move()
turn_left()
move()
move()
turn_right()
move()
take()
turn_left()
turn_left()
move()
move()
turn_left()
move()
put()
################################################################
# WARNING: Do not change this comment.
# Library Code is below.
################################################################

+ 14
- 0
00_Reeborg/solutions/Kreidefelsen.py View File

@@ -0,0 +1,14 @@
from library import turn_right
while wall_on_right():
move()
turn_left()
turn_left()
move()
################################################################
# WARNING: Do not change this comment.
# Library Code is below.
################################################################
def turn_right():
for _ in range(3):
turn_left()

+ 15
- 0
00_Reeborg/solutions/Laufen.py View File

@@ -0,0 +1,15 @@
move()
move()
take()
turn_left()
move()
turn_left()
turn_left()
turn_left()
move()
move()
put()
################################################################
# WARNING: Do not change this comment.
# Library Code is below.
################################################################

+ 51
- 0
00_Reeborg/solutions/Party.py View File

@@ -0,0 +1,51 @@
from library import turn_around, turn_right, move_to_wall


def clean_room():
turn_left()
while front_is_clear():
turn_right()
clean_row()
move_to_next_row()
turn_right()
clean_row()

def clean_row():
while front_is_clear():
clean_cell()
move()
clean_cell()
turn_around()
move_to_wall()
turn_around()


def clean_cell():
if object_here():
take()

def move_to_next_row():
turn_left()
move()
think(30)
clean_room()
################################################################
# WARNING: Do not change this comment.
# Library Code is below.
################################################################
def turn_right():
for _ in range(3):
turn_left()

def turn_around():
turn_left()
turn_left()
def move_to_wall():
while front_is_clear():
move()

+ 19
- 0
00_Reeborg/solutions/Robin Hood (fehlerhaft).py View File

@@ -0,0 +1,19 @@
def do_robin():
if object_here():
take()
if not object_here():
put()

while front_is_clear():
do_robin()
move()
do_robin()
################################################################
# WARNING: Do not change this comment.
# Library Code is below.
################################################################
def turn_around():
turn_left()
turn_left()

+ 19
- 0
00_Reeborg/solutions/Robin Hood.py View File

@@ -0,0 +1,19 @@
def do_robin():
if object_here():
take()
else:
put()

while front_is_clear():
do_robin()
move()
do_robin()
################################################################
# WARNING: Do not change this comment.
# Library Code is below.
################################################################
def turn_around():
turn_left()
turn_left()

+ 10
- 0
00_Reeborg/solutions/Wand.py View File

@@ -0,0 +1,10 @@
while front_is_clear():
move()
################################################################
# WARNING: Do not change this comment.
# Library Code is below.
################################################################
def turn_around():
turn_left()
turn_left()

01_Turtle/python_auf_dem_pc.ipynb → 01_Turtle/00_python_auf_dem_pc.ipynb View File

@@ -2,6 +2,13 @@
"cells": [
{
"cell_type": "markdown",
"id": "52c4cf389c15a0ef",
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"source": [
"# Python auf dem eigenen Computer \n",
"\n",
@@ -27,14 +34,17 @@
"Ein sehr beliebter Editor speziell für Python ist [PyCharm](https://www.jetbrains.com/pycharm/). Er hat viele Funktionen, die das Programmieren erleichtern. Daher werden wir ihn im Kurs verwenden.\n",
"\n",
"Die **Professional-Version** ist für 30 Tage kostenlos. In dieser Zeit sollten Sie sich mit Ihrer Hochschul-Mailadresse bei der Firma Jetbrains [registrieren](https://www.jetbrains.com/de-de/community/education/#students). Dann können Sie die Professional-Version weiterhin kostenlos nutzen."
],
"metadata": {
"collapsed": false
},
"id": "52c4cf389c15a0ef"
]
},
{
"cell_type": "markdown",
"id": "9e84895eb3d81f0f",
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"source": [
"## PyCharm\n",
"Im Lauf der Zeit wird sich ziemlich von Python-Code auf Ihrem Rechner ansammeln. Klar, man kann die Programme auf mehrere Dateien und Verzeichnisse aufteilen. PyCharm geht noch einen Schritt weiter und verwaltet das Ganze in **Projekten**.\n",
@@ -47,20 +57,48 @@
"### Requirements\n",
"Ein Projekt kann auch spezielle Anforderungen (\"Requirements\") haben. Das sind Python-Erweiterungen, die das Projekt benötigt und die bei der Erstinstallation nicht auf Ihren Rechner kopiert wurden. Normalerweise werden diese Requirements in einer Datei `requirements.txt` gespeichert, die ebenfalls zum Projekt gehört.\n",
"\n",
"PyCharm kann diese Requirements automatisch installieren, wenn Sie das Projekt öffnen. Das ist sehr praktisch, denn so müssen Sie sich nicht darum kümmern, welche Erweiterungen Sie für ein Projekt benötigen.\n",
"PyCharm kann diese Requirements automatisch installieren, wenn Sie das Projekt öffnen und eine Code-Datei anklicken. Das ist sehr praktisch, denn so müssen Sie sich nicht darum kümmern, welche Erweiterungen Sie für ein Projekt benötigen.\n",
"\n",
"### Unser Prog1-Projekt\n",
"Das den Kurs begleitende Projekt, in dem neben Texten wie diesem auch die Python-Dateien gespeichert sind, heißt `Prog1Python`. Sie können es auf der [Projektseite](https://git.efi.th-nuernberg.de/gitea/hofmannol/Prog1Python) ansehen und von dort auch direkt nach PyCharm importieren.\n",
"\n",
"#### Herunterladen\n",
"Starten Sie hierfür PyCharm und wählen Sie `Get from Version Control`. Geben Sie dann die URL des Projektseite (sie können diese dort auch kopieren) an. Außerdem können Sie das Verzeichnis (Directory) festlegen, unter dem Ihr Projekt auf Ihrem Rechner gespeichert werden soll. Die Voreinstellung sollte aber passen. \n",
"\n",
"![Laden des Projekts](img/get_from_vcs.png)\n",
"\n",
"Bestätigen Sie mit `Clone`. PyCharm wird das Projekt herunterladen und auf Ihrem Rechner speichern.\n",
" \n",
"#### Einrichten\n",
"Öffnen Sie die Datei `00_python_auf_dem_pc.ipynb`, indem Sie im Baum der Projektdateien auf die Datei klicken. Das ist übrigens die Datei, in der dieser Text steht, den Sie gerade lesen.\n",
"\n",
"![Baum der Projektdateien](img/00_python_auf_dem_pc.png)\n",
"\n",
"### Unser erstes Projekt\n",
"Wenn Sie PyCharm starten, können Sie ein neues Projekt anlegen. Dazu klicken Sie auf \"Create New Project\". Dann können Sie den Namen des Projekts eingeben und den Speicherort auf Ihrem Rechner auswählen.\n",
"Nach dem Öffnen der Datei sollte PyCharm feststellen, dass die Requirements des Projekts nicht erfüllt sind. Ihnen wird u.A. angeboten,eine virtuelle Umgebung auf Basis der Datei `requirements.txt` anzulegen. \n",
"\n",
"![Requirements installieren](img/create_venv.png)\n",
"\n",
"Diese Möglichkeit nehmen wir gerne wahr. Im sich anschließenden Dialog geben wir an, wo die nachzuladenden \n",
"Python-Erweiterungen gespeichert werden sollen und welche Version von Python wir im Projekt verwenden wollen.\n",
"Die vorgeschlagenen Werte sollten passen.\n",
"\n",
"![Virtuelle Umgebung](img/create_venv_2.png)\n",
"\n",
"Nach 'Ok' läd PyCharm läd die benötigten Python-Erweiterungen und installiert sie in einer Umgebung, die nur für unser Projekt gültig ist (daher virtuelle Umgebung). Ein anderes Projekt kann eine ganz andere virtuelle Umgebung besitzen. \n",
"\n",
"Jetzt sollte das Projekt soweit auf Ihrem Rechner vorbereitet sein, dass Sie damit arbeiten können.\n",
"\n"
],
"metadata": {
"collapsed": false
},
"id": "9e84895eb3d81f0f"
]
},
{
"cell_type": "markdown",
"id": "97d34909e3946db0",
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"source": [
"## Assignments \n",
"### Installation von Python\n",
@@ -70,40 +108,38 @@
"### Installation von PyCharm\n",
"1. Laden Sie PyCharm von der [offiziellen PyCharm-Website](https://www.jetbrains.com/pycharm/) herunter.\n",
"2. Führen Sie die heruntergeladene Datei aus und folgen Sie den Anweisungen des Installationsprogramms.\n",
"3. Starten Sie PyCharm und richten Sie es ein.\n",
"4. "
],
"metadata": {
"collapsed": false
},
"id": "97d34909e3946db0"
"3. Starten Sie PyCharm und richten Sie das Prog1-Projekt wie oben beschrieben ein.\n"
]
},
{
"cell_type": "markdown",
"source": [],
"id": "7f58268c42d28d2a",
"metadata": {
"collapsed": false
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"id": "7f58268c42d28d2a"
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
"pygments_lexer": "ipython3",
"version": "3.12.2"
}
},
"nbformat": 4,

BIN
01_Turtle/img/00_python_auf_dem_pc.png View File


BIN
01_Turtle/img/create_venv.png View File


BIN
01_Turtle/img/create_venv_2.png View File


BIN
01_Turtle/img/get_from_vcs.png View File


Loading…
Cancel
Save