{"id":5586,"date":"2012-09-13T21:09:32","date_gmt":"2012-09-14T01:09:32","guid":{"rendered":"http:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=5586"},"modified":"2020-04-09T04:44:42","modified_gmt":"2020-04-09T08:44:42","slug":"laufen-python-hause","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/laufen-python-hause\/","title":{"rendered":"Python zu Hause nutzen"},"content":{"rendered":"<p>Der Code, den du auf der CS Circles-Seite eingibst, wird mithilfe einer Pythonkopie bewertet, die auf unserem Server l\u00e4uft. Dies erm\u00f6glicht es uns, automatische Bewertungen durchzuf\u00fchren. Die traditionellere Programmierpraxis ist es, einen Python-\u00dcbersetzer auf deinem eigenen Computer zu installieren. Es hat verschiedene zus\u00e4tzliche Vorteile, Python zu Hause auszuf\u00fchren:<\/p>\n<ol>\n<li>Du bist nicht davon abh\u00e4ngig, die eingeschr\u00e4nkten Ressourcen auf unserem Server mit allen anderen Nutzern zu teilen.<\/li>\n<li>Du kannst interaktive Programme schreiben (siehe unten).<\/li>\n<li>Wenn du erst mal die Software installiert hast, brauchst du keine Internetverbindung mehr, um Programme auszuf\u00fchren.<\/li>\n<li>Du hast Zugriff zu Optionen wie Debug Tools, Sounds und Grafik.<\/li>\n<\/ol>\n<h2>Kostenlose Python Tools<\/h2>\n<p>Eine einfache Quelle f\u00fcr eine eigene Pythonversion, egal ob du Windows, Mac oder Linux auf deinem Computer hast, ist die offizielle Python.org Seite. <a href=\"http:\/\/www.python.org\/getit\/\">Klicke hier, um die Python Download Seite zu besuchen<\/a>. W\u00e4hle die neueste 3.x Version aus, w\u00e4hle den Installer, der zu deinem Computer passt (z.B. f\u00fcr Windows: \"Windows x86-64 executable installer\"), downloade den Installer und f\u00fchre ihn aus. Wenn alles installiert ist, wirst du eine Python-Eingabeaufforderung erhalten, wenn du das Programm namens <strong>IDLE<\/strong> ausf\u00fchrst.<\/p>\n<p>Achtung: wenn du in der Schule bist, kann es sein, dass du die Software nicht selbst ausf\u00fchren k\u00f6nnen wirst, je nachdem, wie die Berechtigungen konfiguriert sind. Unter Umst\u00e4nden musst du die Erlaubnis und Hilfe des Netzwerkadministrators einholen. Aber auch ohne diese Hilfe gibt es eine Reihe von Python Installationen, die auf einem USB-Stick installiert und ausgef\u00fchrt werden k\u00f6nnen, zum Beispiel <a href=\"http:\/\/portablepython.com\">portablepython.com<\/a>.<\/p>\n<p>IDLE mangelt es an einigen hilfreichen Werkzeugen zum Debuggen. <a href=\"http:\/\/wingide.com\/\">Wing IDE<\/a>\u00a0hat viele Features die beim Debuggen helfen, darunter die M\u00f6glichkeit, <a href=\"http:\/\/wingide.com\/psupport\/wingide-1.1\/node7.html#SECTION00740000000000000000\">Haltepunkte<\/a> zu erstellen, <a href=\"http:\/\/wingide.com\/psupport\/wingide-1.1\/node7.html#SECTION00760000000000000000\">schrittweise auszuf\u00fchren<\/a> und Variablen und Aufrufstapel zu beobachten. Andere Optionen, bei denen wir fanden, dass sie schwerer zu installieren sind, sind <a href=\"http:\/\/pydev.org\/\">PyDev<\/a> or <a href=\"http:\/\/www.jetbrains.com\/pycharm\/\">PyCharm<\/a>. <em>Auf dem Rest dieser Seite reden wir allerdings ausschlie\u00dflich \u00fcber IDLE.<\/em><\/p>\n<h2>Wie man die interaktiven Aufforderungen verwendet<\/h2>\n<p>Wenn du IDLE \u00f6ffnest, bekommst du eine interaktive Eingabeaufforderung (manchmal auch <em>Shell<\/em> genannt). Dabei kannst du direkt individuelle Kommandos eingeben und sie werden sofort ausgef\u00fchrt.<\/p>\n<p>Das Zeichen<\/p>\n<pre>&gt;&gt;&gt;<\/pre>zeigt an, dass Python deine Eingabe erwartet. Wenn du zum Beispiel <code>print(2+3)<\/code> eingibst und dann Enter dr\u00fcckst, wirst du folgendes sehen:<\/p>\n<pre>&gt;&gt;&gt; print(2+3)\n5<\/pre>Die erste Zeile ist das, was du Python zum Ausf\u00fchren gegeben hast, und die zweite Zeile ist Pythons Ausgabe; das Resultat des Ausf\u00fchrens des Statements war es, dass Python die Zahl 5 berechnet und sie ausgegeben hat. Du kannst sogar das\u00a0<code>print<\/code> auslassen, wenn du m\u00f6chtest.<\/p>\n<pre>&gt;&gt;&gt; 2+3\n5<\/pre>Zusammengefasst hei\u00dft das, dass Python standardm\u00e4\u00dfig den Wert der Statements ausgibt, den du ihm zur Ausf\u00fchrung gibst. Was immer hilfreich ist, ist die Version zu \u00fcberpr\u00fcfen: wenn du die folgenden zwei Zeilen eingibst, kannst du sehen, welche Python-Version du verwendest.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform0\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox0'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>\u00dcberpr\u00fcfe, welche Python-Version du benutzt.<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode0' id='usercode0'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nimport sys\nprint(sys.version_info)<\/textarea><\/div>\n<div id='pbhistory0' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit0' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(0)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(0,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse0\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"0\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"e58674cc16da28c4cea98460342f7446\"\/>\n<div id='pbresults0' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit0\").value = \"Run program\";document.getElementById(\"inputInUse0\").value = \"N\";<\/script>\n<\/p>\n<p>(Wir bringen dir die \"major\"-Version 3 bei, weil sie einfacher f\u00fcr Anf\u00e4nger ist. Die Version 2 wird h\u00e4ufig von Unternehmen verwendet, aber auch dort ist die Version 3 auf dem Vormarsch.)<\/p>\n<h2>Hilfreiche Fakten<\/h2>\n<ul>\n<li>Die interaktive Aufforderung hilft dir auch, Dokumentationen \u00fcber eingebaute Funktionen zu erhalten, indem du die <code>help<\/code> Funktion verwendest. Wenn du zum Beispiel <code>help(print)<\/code> eintippst, wirst du grundlegende Informationen dar\u00fcber erhalten, wie <code>print()<\/code> funktioniert.<\/li>\n<li>Um eine unendliche Schleife zu unterbrechen, oder einen Rechenvorgang, der zu lange andauert, kannst du das Programm unterbrechen, indem du Strg-C dr\u00fcckst. Versuche, das folgende Programm auszuf\u00fchren und es dann mit Strg-C zu unterbrechen.\n<pre>while (1 &gt; 0): purpose = \"Wasting Time\"<\/pre>\n<\/li>\n<li>Wenn du Python als Taschenrechner benutzt oder einige kleinere Experimente durchf\u00fchrst, haben wir hier einen hilfreichen Shortcut f\u00fcr dich. Der Unterstrich <code>_<\/code> bezieht sich auf das Resultat der vorherigen Eingabe, die von der interaktiven Aufforderung bewertet wurde. Wenn du zum Beispiel <code>2+3<\/code> auf einer Zeile eintippst und\u00a0 <code>_*2<\/code> auf der n\u00e4chsten, wirst du folgendes sehen:\n<pre>&gt;&gt;&gt; 2+3\n5\n&gt;&gt;&gt; _*2\n10<\/pre>\n<\/li>\n<\/ul>\n<h2>Dateien und Skripte bearbeiten<\/h2>\n<p>Wenn du an einem komplexen Problem arbeitest, wirst du eine lange Datei schreiben und bearbeiten m\u00fcssen, die mehrere Befehle enth\u00e4lt, die dem \u00e4hneln, was wir auf der CSCircles Seite gemacht haben. Um das selbe in <strong>IDLE<\/strong> auszuf\u00fchren, gehe bitte zum <span style=\"text-decoration: underline;\">F<\/span>ile Men\u00fc (Dateimen\u00fc) und w\u00e4hle \"New Window\" (oder nimm einfach den Shortcut Strg-N). Dies wird ein neues Fenster mit einem ein einfachen Text-Editor \u00f6ffnen (Achtung: dies ist keine interaktive Aufforderung). Gib etwas Code in diesem Fenster ein (zum Beispiel\u00a0<code>print(\"Hello, World\")<\/code>); Achtung: der Code, den du eingibst, wird nicht ausgef\u00fchrt, wenn du die Enter-Taste dr\u00fcckst. Speichere diese Datei auf deinem Computer (w\u00e4hle im Dateimen\u00fc \"Save\" oder gib Strg-S ein). Dann kannst du es ausf\u00fchren: gehe zum \"Run\"-Men\u00fc und w\u00e4hle das \"Run Module\" aus (oder dr\u00fccke die F5 Taste). Du wirst jetzt die Ausgabe deines Programms in dem interaktiven Aufforderungsfenster sehen!<\/p>\n<h1>Interaktive Eingaben<\/h1>\n<p>Ein wichtiges Feature, das m\u00f6glich wird, wenn du Python zu Hause ausf\u00fchrst, anstatt auf der CS Circles-Seite, wirst du \u00fcber ein weiteres Feature verf\u00fcgen k\u00f6nnen: du kannst jetzt interaktive Eingaben im sogenannten Interpreter Fenster verwenden. Der <code>input()<\/code> Befehl wird eine Zeile User Eingabe vom interaktiven Interpreter erhalten und diese Zeichenkette wird sich dann in den Ausgabewert der <code>input()<\/code> Funktion verwandeln. Zus\u00e4tzlich kannst du der input-Funktion ein Argument \u00fcbergeben, das als Aufforderung angezeigt wird und dem Nutzer zu verstehen hilft, was er machen soll. Wir veranschaulichen das Ganze mit einem kleinen Beispiel:\u00a0 kopiere es in deinen <strong>IDLE<\/strong>-Editor, speichere und f\u00fchre es dann aus, um es auszuprobieren.<\/p>\n<pre>print(\"Good day!\")\nusername = input(\"What is your name? \")\nprint(\"Nice to meet you,\", username)<\/pre>\n<h2>Ein Beispiel von Interaktivit\u00e4t: Ein Ratespiel<\/h2>\n<p>Hier geben wir dir ein Beispiel, bei dem interaktive Eingaben den Unterschied ausmachen: ein Ratespiel bei dem du gegen den Computer antrittst. Wir werden eine Funktion aus dem <code>random<\/code> Paket ausw\u00e4hlen: die Funktion <code>random.randint(A, B)<\/code> generiert eine zuf\u00e4llige Ganzzahl, die zwischen <code>A<\/code> und <code>B<\/code> (inklusive) liegt. Mit dieser Funktion haben wir ein kleines Beispiel-Spiel geschrieben: kopiere es in deinen Editor, speichere ab, und f\u00fchre es aus!<\/p>\n<pre>import random\nsecretNumber = random.randint(1, 100)\nprint(\"I'm thinking of a secret number between 1 and 100...\")\nwhile True:\n    guess = int(input(\"What is your guess? \"))\n    if (guess == secretNumber):\n        break\n    if (guess &gt; secretNumber):\n        print(\"Sorry, your guess is too high.\")\n    if (guess &lt; secretNumber):\n        print(\"Sorry, your guess is too low.\")\nprint(\"Dang, you got it!\")<\/pre>\n<h2>Und dann...<\/h2>\n<p>Wenn du es spannend findest, diese Programme zu Hause auszuf\u00fchren, kannst du kompliziertere Programme schreiben, wie zum Beispiel ein interaktives Programm, das Ma\u00dfeinheiten umwandelt. Hier sind einige weitere Sachen, die du machen kannst, jetzt wo du Python zu Hause ausf\u00fchrst:<\/p>\n<ul>\n<li>Mit dem <a href=\"http:\/\/docs.python.org\/py3k\/library\/turtle.html#module-turtle\">Python <strong>turtle<\/strong> Modul<\/a> kannst du Linienzeichnungen und geometrische Animationen erzeugen!<\/li>\n<li>Du kannst Python-Programme schreiben, die <a href=\"http:\/\/docs.python.org\/tutorial\/inputoutput.html#reading-and-writing-files\">Dateien schreiben und lesen k\u00f6nnen<\/a>.<\/li>\n<li>Du kannst Python benutzen, um <a href=\"http:\/\/stackoverflow.com\/questions\/1967040\/how-can-i-create-a-melody-is-there-any-sound-module\">musikalische Signale zu erzeugen.<\/a>!<\/li>\n<\/ul>\n<p>Wir empfehlen das kostenlose Buch\u00a0<a href=\"http:\/\/inventwithpython.com\/\">Invent Your Own Computer Games With Python<\/a>, wenn du auf der Suche nach etwas bist, das dir viele spa\u00dfige und interessante Ideen erkl\u00e4rt, die auf interaktivem Python aufbauen.<\/p>\n<p><table class='pywarn'><tr><td class='pywarnleft'><img src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/warning.png'\/><\/td><td class='pywarnright'><span>  Du kannst Pygame in Python 3 unter Windows benutzen, wenn du die <a href=\"http:\/\/www.lfd.uci.edu\/~gohlke\/pythonlibs\/#pygame\">zus\u00e4tzlichen Bibliotheken hier verwendest<\/a>.  <\/span><\/td><\/table><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Code, den du auf der CS Circles-Seite eingibst, wird mithilfe einer Pythonkopie bewertet, die auf unserem Server l\u00e4uft. Dies erm\u00f6glicht es uns, automatische Bewertungen durchzuf\u00fchren. Die traditionellere Programmierpraxis ist es, einen Python-\u00dcbersetzer auf deinem eigenen Computer zu installieren. Es &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/laufen-python-hause\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2653,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5586","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/5586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/users\/2653"}],"replies":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/comments?post=5586"}],"version-history":[{"count":39,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/5586\/revisions"}],"predecessor-version":[{"id":11326,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/5586\/revisions\/11326"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=5586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}