Fehr | Let’s code Python | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 360 Seiten

Reihe: Rheinwerk Computing

Fehr Let’s code Python


2. Auflage 2022
ISBN: 978-3-8362-8656-5
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection

E-Book, Deutsch, 360 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-8362-8656-5
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection



Programmieren lernen mit Python. Ideal für Programmieranfänger

Python macht Spaß! Steige einfach in die Programmierung ein: Mit eigenen kleinen Programmen und Spielen, selbst gebauten Kreaturen, Grafik und mehreren Leveln. Mit der Entwicklungsumgebung TigerJython ist es besonders einfach, zügig loszulegen. Sie bietet viele Hilfen eigens für Anfänger und für den Fall, dass du mal einen Fehler finden musst. Ohne Vorkenntnisse lernst du Python in überschaubaren Projekten kennen. Neue Sprachelemente werden ausführlich vorgestellt, mit farbigen Hervorhebungen und Erklärungen direkt am Code.

  • In Farbe, ausführlich kommentierter Code
  • Mit komplettem Starterpack einfach loslegen
  • Viele Beispiele mit Text und Grafik

Aus dem Inhalt:

  • Installation und erste Schritte
  • Quiz, Vokabeltrainer, Würfel-Poker
  • Fehler finden leicht gemacht
  • Ein Grafik-Framework benutzen
  • Ein Roboter, der zeichnen kann
  • Dateien bearbeiten und speichern
  • Mathematische Graphen und Diagramme
  • Spiele nachprogrammieren: Breakout, Tic Tac Toe und mehr
  • Selbst gebaute Kreaturen
  • Multi-Level-Spiele
Fehr Let’s code Python jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material




  Liebe Leserin, lieber Leser, ... 2


  Materialien zum Buch ... 13


  1.  Programme schreiben -- wie geht das? ... 15


  2.  Wie funktionieren Computer überhaupt? ... 19


       Innenleben eines PCs ... 19

       Eingabe, Verarbeitung, Ausgabe ... 20

       Bits und Bytes ... 22

       Prozessortakt -- wie schnell läuft mein PC? ... 24



  3.  Python -- die Programmiersprache ... 25


       Maschinensprache -- die Muttersprache des Prozessors ... 25

       Interpreter und Compiler ... 26

       Python -- einfach und universell ... 27

       Jython -- was ist das? ... 28

       TigerJython -- deine Lernumgebung ... 29



  4.  TigerJython installieren -- einfacher geht's nicht ... 31


       Installation unter Windows ... 31

       Installation auf dem Mac ... 33

       Installation unter Linux ... 35



  5.  Die ersten Schritte -- Python im Dialog ... 37


       Direkte Befehle -- die Konsole ... 38

       Ausgabe mit Zahlen ... 38

       Die Syntax muss stimmen ... 43

       Zeichenketten statt Zahlen ... 44



  6.  Variablen -- jetzt wird es flexibel ... 47


       Variablennamen ... 49

       Der »input«-Befehl -- Eingaben zum Verarbeiten ... 51



  7.  Programme schreiben -- es geht los! ... 55


       Ein Programm in TigerJython eingeben ... 55

       Das allererste Programm: Ein Zahlenzaubertrick ... 56

       Zweites Programm: Ein Umrechner ... 58

       Programme speichern ... 60

       Eingabe, Verarbeitung, Ausgabe -- diesmal mit Text ... 61

       Rechner mit Rest ... 62

       Das magische Quadrat ... 64

       Variation: Magisches Quadrat mit fester Summe ... 67



  8.  Bedingungen -- was passiert, wenn ...? ... 71


       »if«-Abfragen in Python ... 72

       »if« mit »else« ... 75

       Mehrere Bedingungen verknüpfen ... 77

       »elif« -- »else if« ... 78

       »if« -- »else« im Überblick ... 80

       Wahr und falsch beim Verknüpfen ... 82

       Programm: Eintrittsprüfung ... 83



  9.  Befehle und Module ... 85


       Was sind Module? ... 85

       Das Modul »math« ... 86

       Das Modul »random« ... 90

       Roulette ... 91

       Programm: Entscheidungshilfe ... 92



10.  Schleifen -- Wiederholungen machen Programme stark ... 95


       Die Zählschleife mit »repeat« ... 96

       Würfeln ohne Ende ... 98

       Schleifen verschachteln ... 102

       Die »while«-Schleife ... 103

       Würfelpoker ... 105

       Klassisches Zahlenraten ... 107

       Das kleine Einmaleins ... 111

       Mehr Möglichkeiten für »while«-Schleifen ... 116

       Primzahlentester ... 118

       Das Probeverfahren ... 118

       Das Schachrätsel ... 123

       Zins und Zinseszins ... 125



11.  Listig -- mit Listen arbeiten ... 127


       Zeichenketten sind Listen ... 127

       Listen in Python ... 130

       Wochentag nachschlagen ... 132

       Listen per Programm erzeugen ... 133

       Die »for«-Schleife mit einer Liste ... 134

       Mehr Befehle, Methoden und Funktionen für Listen ... 137

       Ein Lottozahlen-Tipp ... 140

       Das Lottospiel: Selbst tippen und gewinnen ... 144

       Mehrdimensionale Listen ... 148

       Zusammenfassung: Listen ... 151



12.  Die Schildkröte -- ein grafischer Roboter ... 153


       Die Schildkröte steuern ... 154

       Weitere Turtle-Befehle ... 161

       Grafik mit Koordinaten ... 165

       Funktionsgraphen programmieren ... 167

       Zufallsbilder erstellen ... 169

       Variationen: Zufallsmuster ... 171

       Eingebaute Funktionen nutzen ... 173



13.  Funktionen selber schreiben ... 175


       Was sind Funktionen noch mal genau? ... 175

       Eigene Funktionen schreiben ... 176

       Eigene Funktion »zahlwort« ... 180

       Ein eigenes Modul erstellen ... 184

       Zeichnen mit Funktionen ... 186

       Rekursive Funktionen ... 188



14.  Sound programmieren ... 193


       Sound in Python abspielen ... 193

       Was sind denn eigentlich Klangdateien? ... 193

       WAV-Dateien abspielen ... 195

       MP3-Dateien abspielen ... 196

       Eigene Musik machen ... 196

       Sprachsynthese -- lass den Computer sprechen! ... 198



15.  Objekte programmieren ... 201


       Was sind Objekte? ... 202

       Objekte in Python ... 202

       Klassen und Instanzen ... 205

       Objekte für alles ... 210



16.  Eigene Objekte definieren ... 213


       Die Funktion »__init__« ... 214

       Eigene Methoden definieren ... 217

       Die Funktion »__str__« ... 218

       Ableitung und Vererbung -- ein Supertoaster ... 221



17.  gamegrid -- Spiele bauen mit Objekten ... 225


       Ein Spielfeld erzeugen ... 226

       Actor -- jetzt kommen die Figuren ins Spiel ... 230

       Der Fisch soll leben ... 232

       Spielfiguren mit Eigenleben ... 234

       Das Spielfeld kontrolliert den Takt ... 237

       Die Steuerungsleiste in gamegrid ... 242



18.  Steuerung und Ereignisse in gamegrid ... 245


       Erweiterung der Spielidee ... 249

       Kollision -- Interaktion zwischen Spielfiguren ... 251

       Klang hinzufügen ... 256

       Ein Spiel braucht Gegner ... 257



19.  Breakball -- ein neues Spiel ... 265


       Das Spielprinzip ... 265

       Elemente des Programms ... 266

       Erster Schritt: Spielfeld und Ball ... 266

       Zweiter Schritt: Das Brett ... 271

       Dritter Schritt: Die Blöcke ... 275

       Die Spielsteuerung ... 280



20.  Space Attack -- ein Klassiker ... 287


       Das Spielprinzip ... 287

       Technik: Was brauchen wir? ... 287

       Das Spielfeld ... 288

       Das Raumschiff ... 288

       Jetzt wird geschossen ... 290

       Die Aliens ... 294

       Erweiterungen ... 304

       Weiterer Ausbau: Deine Aufgabe ... 307



21.  Flappy Ball -- geschicktes Hüpfen ... 309


       Die Spielidee ... 309

       Benötigte Elemente ... 309

       Das Spielfeld ... 310

       Der Ball ... 310

       Die Ballsteuerung mit der Maus ... 312

       Die Balken als Spielgegner ... 315

       Das Spiel erweitern und verbessern ... 321

       Weitere Ideen ... 323



22.  Tic Tac Toe -- Brettspiele mit gamegrid ... 325


       Das Spielprinzip ... 325

       Welche Elemente werden benötigt? ... 326

       Das Spielfeld ... 326

       Auf die Maus reagieren ... 328

       Die Spielverwaltung ... 331

       Ein Objekt für die Spieldaten ... 332

       Erweiterungen von Tic Tac Toe ... 340

       Der Computer als Gegner ... 340

       Am einfachsten: Die Zufallsmethode ... 341

       Cleverer: Die doppelte Prüfmethode ... 345

       Echte KI: Die Minimax-Methode ... 349



23.  Wie geht es weiter? ... 351


       Mit TigerJython weitermachen ... 352

       Andere Python-Systeme ... 354

       Andere Programmiersprachen? ... 355



  Index ... 357


6    Variablen – jetzt wird es flexibel


Jeder Computer hat nicht nur sein Rechenwerk, sondern er braucht vor allem auch einen Speicher, in dem er Daten zwischenlagern kann. Beim Programmieren nutzen wir diesen Speicher konkret mithilfe von Variablen. Erst damit kann man wirklich sinnvoll Daten verarbeiten, denn sonst wären jeder Wert und jedes Ergebnis in einem Programm ja vorherbestimmt.

Erinnerst du dich an die Vorstellung vom Computer als Bearbeiter, der an seinem Schreibtisch sitzt und ständig Daten aus kleinen Schubladen holt, die er bearbeitet und dann wieder in diese Schubladen hineinsteckt? Diese Schubladen werden wir jetzt auch verwenden. Es sind die sogenannten Variablen, die in jeder Programmiersprache eine außerordentlich wichtige Rolle spielen.

Variabel heißt »veränderlich« – eine Variable ist ein Platzhalter für eine veränderliche Zahl, eine Zeichenkette oder einen anderen Datenwert. Die Variable ist also wie die Schublade, in die man einen Wert hineinstecken kann. Diese Schublade hat eine Beschriftung, damit man immer weiß, was wo drin ist. Die Beschriftung ist der Variablenname, mit dem man auf ihren Inhalt zugreifen kann.

Aber genug der Theorie. Wie sieht das in der Praxis aus? Wir bleiben noch in der Konsole und geben mal folgenden Befehl ein:

(¢)-Taste … und …? Im Ausgabefenster passiert nichts, denn wir haben ja keinen Ausgabebefehl gegeben. Der Befehl a = 25 sagt Python Folgendes:

Speichere die Zahl 25 in einer Variablen mit dem Namen a.

Merke

Wenn wir einen Variablennamen angeben, dahinter ein Gleichheitszeichen und dann einen Zahlausdruck oder eine Zeichenkette stellen, wird dieser Wert in die Variable geschrieben. Wenn die Variable noch nicht existiert, wird sie dabei automatisch erzeugt.

Jetzt gibt es also so etwas wie eine Schublade, die die Aufschrift a trägt, und in der Schublade liegt die Zahl 25.

Python bestätigt das im Dialogfenster mit der Meldung a: 25. Das heißt also: a steht fortan für die Zahl 25.

Gib jetzt Folgendes in der Konsole ein:

Ergebnis:

25

Immer wenn wir jetzt den Namen a in einem Kommando verwenden, weiß Python, dass wir den Wert meinen, der in der Variablen a drinsteckt.

Du kannst mit der Variablen jetzt genauso rechnen wie mit dem Wert 25 selbst.

print(a + 10)

ergibt:

35
Variablen und ihre Werte

Variablen werden erst in dem Moment angelegt, in dem du ihnen einen Wert gibst. Wenn ich a = 1 schreibe, dann habe ich eine Variable a angelegt, die als Inhalt den Wert 1 hat. Wenn ich der Variablen später einen anderen Wert gebe, zum Beispiel a = 12.5, dann ändert sich der Wert dieser vorhandenen Variablen a, und es wird keine neue Variable angelegt.

Du kannst in Programmen nur Variablen zum Rechnen verwenden oder ausgeben, die du vorher auch angelegt hast und denen du einen Wert gegeben hast. Variablen, denen du nie einen Wert gegeben hast, existieren nicht. Das kannst du in der Konsole leicht ausprobieren. Gib mal ein:

print(b)

Das Ergebnis ist eine Fehlermeldung:

Der Name 'b' ist nicht definiert oder falsch geschrieben.

Es existiert also keine Variable oder Funktion mit diesem Namen.

b kann nicht ausgegeben werden, weil b nicht existiert. Logisch, oder?

Erst wenn du b = 125 (oder etwas anderes) schreibst, dann existiert auch die Variable b, und dann kannst du sie auch für Berechnungen verwenden oder ausgeben.

Variablennamen


Natürlich dürfen Variablen nicht nur a, b oder c heißen. Sie können alle möglichen Namen wie eingabezahl oder geschwindigkeit oder meinErgebnis haben. Namen, die einen Hinweis darauf geben, wofür die Variable verwendet wird, helfen sehr beim Programmieren.

Allerdings gibt es auch klare Regeln, wie man Variablen nennen darf und wie nicht, damit Python die Variablen immer eindeutig als solche erkennen kann:

  • Variablennamen dürfen aus Klein- und Großbuchstaben sowie aus Zahlen bestehen. Sie müssen aber immer mit einem Buchstaben beginnen. Beachte aber, dass Groß- und Kleinbuchstaben wirklich unterschieden werden und ein Name nicht mal groß und mal klein geschrieben werden kann. Dann wären es zwei verschiedene Namen.

  • In der Regel werden normale Variablennamen in Python immer mit kleinen Buchstaben geschrieben, Leerzeichen werden meist durch Unterstriche dargestellt. Das ist kein Muss, aber es ist in Python üblich, um Programme auch für andere gut lesbar zu halten.

  • Variablennamen dürfen keine Sonderzeichen, deutschen Umlaute oder Leerzeichen enthalten, sondern wirklich nur internationale Buchstaben und Zahlen – und den Unterstrich _ als Ausnahme.

  • Will man eine Variable mit einem Namen benennen, der aus zwei Wörtern besteht, dann kann man statt des Leerzeichens also den Unterstrich verwenden, das wird snake_case genannt – oder man arbeitet mit Großbuchstaben zur Trennung. Das heißt camelCase (kleiner Anfangsbuchstabe und großer Buchstabe für das nächste Wort) bzw. CapWords – das erste wie zweite Wort beginnt mit einem Großbuchstaben ohne Leerzeichen. In TigerJython wird häufig camelCase für Variablennamen verwendet, wir werden dies auch in einigen Fällen tun und halten uns ansonsten an die Python-Empfehlung snake_case.

Beispiele für Variablennamen:

x

erlaubt

Y

Großbuchstaben sind erlaubt (aber nicht üblich, außer für Konstanten).

hallo

erlaubt

wert3

erlaubt

5fach

verboten (beginnt mit einer Zahl)

länge

verboten (Sonderzeichen ä ist nicht erlaubt)

breite des rechtecks

verboten (Leerzeichen dürfen nicht im Namen vorkommen)

laenge_quadrat

erlaubt und erwünscht (der Unterstrich zur Worttrennung wird für Variablen- und Funktionsnamen in Python empfohlen, sogenannter snake_case)

tasteGedrueckt

erlaubt und in TigerJython öfter verwendet (camelCase)

GrafikObjekt

erlaubt (CapWords wirst du später für sogenannte Klassennamen verwenden)

Nun weißt du, wie man Variablen benennen kann. Jetzt geht es darum, wie man sie verwendet.

Variablen dürfen in Python Zahlen oder Strings enthalten, zum Beispiel:

vorname = "Erwin"

Gib anschließend ein:

print("Hallo "+vorname + "!")

Die Ausgabe ist:

Hallo Erwin!

Oder noch ein anderes Beispiel. Gib nacheinander die folgenden drei Zeilen ein:

wert = 21

doppelter_wert = wert * 2

print("Das Doppelte von",wert,"ist", doppelter_wert)

Nach der letzten Zeile bekommst du die Ausgabe:

Das Doppelte von 21 ist 42

Im ersten Befehl wurde die Zahl 21 in die Variable mit dem Namen wert gelegt. Danach wurde die Variable doppelter_wert mit dem Ausdruck wert * 2 belegt. Dadurch stand die Zahl 42 in der Variablen, denn Python...


Fehr, Hauke
Hauke Fehr programmiert seit über 30 Jahren mit verschiedenen Sprachen für verschiedene Zwecke. Die Wissensvermittlung liegt ihm dabei besonders am Herzen. Er hält Kurse, schreibt Bücher und berät Informatiklehrer und -lehrerinnen dabei, das System zum Lernen auszuwählen. Als erfahrener Entwickler, Autor und Lehrer weiß er nicht nur genau, wovon er redet, sondern kann es auch super erklären!



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.