Installation
This commit is contained in:
parent
b2162262b7
commit
fc53e01f38
3
.idea/misc.xml
generated
3
.idea/misc.xml
generated
@ -4,4 +4,7 @@
|
|||||||
<option name="sdkName" value="Python 3.12 (prog1)" />
|
<option name="sdkName" value="Python 3.12 (prog1)" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (prog1)" project-jdk-type="Python SDK" />
|
<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>
|
</project>
|
13
00_Reeborg/solutions/Endlos.py
Normal file
13
00_Reeborg/solutions/Endlos.py
Normal 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
00_Reeborg/solutions/Erdbeerpflücker.py
Normal file
12
00_Reeborg/solutions/Erdbeerpflücker.py
Normal 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
00_Reeborg/solutions/Erdbeerzeile.py
Normal file
13
00_Reeborg/solutions/Erdbeerzeile.py
Normal 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
00_Reeborg/solutions/Good Morning.py
Normal file
24
00_Reeborg/solutions/Good Morning.py
Normal 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
00_Reeborg/solutions/Kreidefelsen.py
Normal file
14
00_Reeborg/solutions/Kreidefelsen.py
Normal 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
00_Reeborg/solutions/Laufen.py
Normal file
15
00_Reeborg/solutions/Laufen.py
Normal 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
00_Reeborg/solutions/Party.py
Normal file
51
00_Reeborg/solutions/Party.py
Normal 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
00_Reeborg/solutions/Robin Hood (fehlerhaft).py
Normal file
19
00_Reeborg/solutions/Robin Hood (fehlerhaft).py
Normal 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
00_Reeborg/solutions/Robin Hood.py
Normal file
19
00_Reeborg/solutions/Robin Hood.py
Normal 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
00_Reeborg/solutions/Wand.py
Normal file
10
00_Reeborg/solutions/Wand.py
Normal 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()
|
@ -2,6 +2,13 @@
|
|||||||
"cells": [
|
"cells": [
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
|
"id": "52c4cf389c15a0ef",
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false,
|
||||||
|
"jupyter": {
|
||||||
|
"outputs_hidden": false
|
||||||
|
}
|
||||||
|
},
|
||||||
"source": [
|
"source": [
|
||||||
"# Python auf dem eigenen Computer \n",
|
"# Python auf dem eigenen Computer \n",
|
||||||
"\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",
|
"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",
|
"\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."
|
"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",
|
"cell_type": "markdown",
|
||||||
|
"id": "9e84895eb3d81f0f",
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false,
|
||||||
|
"jupyter": {
|
||||||
|
"outputs_hidden": false
|
||||||
|
}
|
||||||
|
},
|
||||||
"source": [
|
"source": [
|
||||||
"## PyCharm\n",
|
"## 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",
|
"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",
|
"### 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",
|
"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",
|
"\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",
|
"\n",
|
||||||
"### Unser erstes Projekt\n",
|
"### Unser Prog1-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",
|
"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",
|
"\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",
|
||||||
|
"\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",
|
||||||
|
"\n",
|
||||||
|
"\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",
|
||||||
|
"\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",
|
||||||
|
"\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"
|
"\n"
|
||||||
],
|
]
|
||||||
"metadata": {
|
|
||||||
"collapsed": false
|
|
||||||
},
|
|
||||||
"id": "9e84895eb3d81f0f"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
|
"id": "97d34909e3946db0",
|
||||||
|
"metadata": {
|
||||||
|
"collapsed": false,
|
||||||
|
"jupyter": {
|
||||||
|
"outputs_hidden": false
|
||||||
|
}
|
||||||
|
},
|
||||||
"source": [
|
"source": [
|
||||||
"## Assignments \n",
|
"## Assignments \n",
|
||||||
"### Installation von Python\n",
|
"### Installation von Python\n",
|
||||||
@ -70,40 +108,38 @@
|
|||||||
"### Installation von PyCharm\n",
|
"### Installation von PyCharm\n",
|
||||||
"1. Laden Sie PyCharm von der [offiziellen PyCharm-Website](https://www.jetbrains.com/pycharm/) herunter.\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",
|
"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",
|
"3. Starten Sie PyCharm und richten Sie das Prog1-Projekt wie oben beschrieben ein.\n"
|
||||||
"4. "
|
]
|
||||||
],
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": false
|
|
||||||
},
|
|
||||||
"id": "97d34909e3946db0"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"source": [],
|
"id": "7f58268c42d28d2a",
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"collapsed": false
|
"collapsed": false,
|
||||||
|
"jupyter": {
|
||||||
|
"outputs_hidden": false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"id": "7f58268c42d28d2a"
|
"source": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"kernelspec": {
|
"kernelspec": {
|
||||||
"display_name": "Python 3",
|
"display_name": "Python 3 (ipykernel)",
|
||||||
"language": "python",
|
"language": "python",
|
||||||
"name": "python3"
|
"name": "python3"
|
||||||
},
|
},
|
||||||
"language_info": {
|
"language_info": {
|
||||||
"codemirror_mode": {
|
"codemirror_mode": {
|
||||||
"name": "ipython",
|
"name": "ipython",
|
||||||
"version": 2
|
"version": 3
|
||||||
},
|
},
|
||||||
"file_extension": ".py",
|
"file_extension": ".py",
|
||||||
"mimetype": "text/x-python",
|
"mimetype": "text/x-python",
|
||||||
"name": "python",
|
"name": "python",
|
||||||
"nbconvert_exporter": "python",
|
"nbconvert_exporter": "python",
|
||||||
"pygments_lexer": "ipython2",
|
"pygments_lexer": "ipython3",
|
||||||
"version": "2.7.6"
|
"version": "3.12.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
BIN
01_Turtle/img/00_python_auf_dem_pc.png
Normal file
BIN
01_Turtle/img/00_python_auf_dem_pc.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
01_Turtle/img/create_venv.png
Normal file
BIN
01_Turtle/img/create_venv.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
BIN
01_Turtle/img/create_venv_2.png
Normal file
BIN
01_Turtle/img/create_venv_2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 133 KiB |
BIN
01_Turtle/img/get_from_vcs.png
Normal file
BIN
01_Turtle/img/get_from_vcs.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 49 KiB |
Loading…
x
Reference in New Issue
Block a user