Ctrl+v in deine Datei hello-world.py kopieren. Alternativ kannst du auch mit der rechten Maustaste auf den Programmnamen “hello-world.py” oberhalb des folgenden Codes klicken und das Programm direkt in deinem Python-Verzeichnis abspeichern.In Python unterscheidet man zwischen
Ein Grund ist, dass man mit Zahlen anders rechnen kann als mit Zeichenketten. Beispielsweise ergibt der Ausdruck “Zeichenkette hoch Zeichenkette” keinen Sinn.
hello-world.py (verwende den Icon “New File”) und kopiere den folgenden Programm-Code in diese Datei.1)print("Hello World!") print(2 + 3) # Der Ausdruck zwischen den Klammern wird berechnet # und das Ergebnis wird ausgegeben. print("2+3") # Beachte die Wirkung der Anführungszeichen: # Ausgegeben wird die Zeichenkette, # die zwischen den Anführungszeichen steht. print(3 - 5) print(5 * 7) print(7 / 2)
Ctrl+F5) und verstehe, welche Ausgabe jede Zeile bewirkt.print-Befehle ergänzt: Finde selbständig heraus, was die Rechenzeichen **, // und % in Python bedeuten. Jedes dieser Rechenzeichen erwartet links und rechts je eine (natürliche) Zahl. Was berechnet beispielsweise der Ausdruck 2 ** 100?Wenn man nur mal kurz einen Befehl in Python ausprobieren möchte, ist die sogenannte Python-Shell nützlich. Sie wird auch Read-eval-print-loop oder kurz REPL genannt, denn der Computer liest (read) vom Benutzer eine Eingabe ein, wertet sie aus (eval für evaluate) und gibt das Ergebnis aus (print), und dieser ganze Vorgang wird wiederholt (loop).
Schau dir das folgende Video zur Python-Shell an und probiere es parallel selbst aus. (Wer Linux statt Windows benutzt: Die Python-Shell öffnet man wie folgt: Öffne ein Terminal (Hotkey Ctrl+Alt+t) und gib dort python+Enter ein.)
Die Kommunikation mit dem Computer funktioniert in Shells meist nach dem folgenden Muster (rein tastaturbasiert): Der Benutzer gibt einen Befehl ein und schickt ihn mit Enter an den Computer. Der Computer führt den Befehl aus bzw. meldet, dass er den Befehl nicht versteht. Dann ist der Benutzer erneut an der Reihe.
Video "Python-Shell bzw. REPL"
Nachträge zum Video:
exit() + Enter (oder per Hotkey Ctrl-z bzw. Ctrl-d in Linux).↑ und ↓ kann man schnell zuvor eingegebene Befehle wiederfinden.Tab kann man sich oft viel Tipparbeit sparen (etwa von Datei- und Verzeichnisnamen), vgl. “command line completion”.Enter an den Computer, und dieser Antwortet. Dann wiederholt sich das Spiel.
Zeichenketten (= strings) werden in Python in Anführungszeichen notiert; beispielsweise ist “Hello World” ein String. Statt “doppelter Anführungszeichen” darf man auch einfache Anführungszeichen verwenden, also 'Hello World'.
In der folgenden Aufgabe lernst du, wie man in Python mit Zeichenketten “rechnen” kann.
Wenn in einer der folgenden Aufgaben steht
"dunkel" + "blau"
"red " + "yellow " + "green"
(beachte die Leerzeichen innerhalb der Strings)
11 + "Freunde"
4 * "Ich liebe Informatik!"
"eat, sleep, bike, repeat! "
"hell" * "dunkel"
print(3 * "Sieben") print(3 * 7) print("3 * 7") print("3" * 7) print(3 * '7') print() # Ausgabe von nichts erzeugt eine Leerzeile. (Alles hinter dem Zeichen # ist ein Kommentar.) print("Drei" + "Sieben") print("3 + 7") print(3 + 7) print(3 * (3 + 2 * 2)) print("") # Auch die Ausgabe der "leeren Zeichenkette" erzeugt eine Leerzeile. # Zeilen, die mit dem Zeichen "#" beginnen, sind Kommentarzeilen. # Sie werden bei der Ausführung des Programmes ignoriert. # ... und zum Abschluss noch ein paar schwierigere Ausdrücke: print(5 * "Drei-" + "Sieben!") print(5 * ("Drei-" + "Sieben! ")) print(3 * (2 * "A" + 3 * "X" + "! ")) print(2 * ("(2+" + 2 * "2*" + "2)+2="))
Blaukraut bleibt Blaukraut und Brautkleid bleibt Brautkleid. Blaukraut bleibt Blaukraut und Brautkleid bleibt Brautkleid. Blaukraut bleibt Blaukraut und Brautkleid bleibt Brautkleid. Blaukraut bleibt Blaukraut und Brautkleid bleibt Brautkleid. Blaukraut bleibt Blaukraut und Brautkleid bleibt Brautkleid. Es folgt 10 mal das Wort Algorithmus: Algorithmus Algorithmus Algorithmus Algorithmus Algorithmus Algorithmus Algorithmus Algorithmus Algorithmus Algorithmus. Die Hälfte der Hälfte der Hälfte der Hälfte der Hälfte der Hälfte der Hälfte der Hälfte der Hälfte der Hälfte ist ein 1024-stel.
Die Zeichenkombination \n bedeutet “Zeilenumbruch” oder englisch “new line”.
In der folgenden Aufgabe wirst du lernen, wie man sie nutzen kann.
print("Wie, o dies π\nmacht ernstlich so vielen viele Müh,\nLernt immerhin, Jünglinge, leichte Verselein,\nwie so zum Beispiel dies dürfte zu merken sein!\n")
print-Befehl, der die folgende zusätzliche Ausgabe erzeugt: (Nur EIN print-Befehl ist erlaubt.)Nach diesem Wort kommt ein Zeilenumbruch.
Ich liebe Informatik! Ich liebe Informatik! Ich liebe Informatik! Ich liebe Informatik! Ich liebe Informatik! Ich liebe Informatik! Ich liebe Informatik! Ich liebe Informatik! Ich liebe Informatik! Ich liebe Informatik!
++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++
+--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+
Das Benutzen von Apps (= Computer-Programmen) an Computer oder Handy beruht fast immer darauf, dass der Benutzer etwas eingibt, der Computer die Eingabe verarbeitet und eine Antwort ausgibt:
Man spricht auch von dem EVA-Prinzip der Datenverarbeitung: Eingabe, Verarbeitung, Ausgabe.
Ausgabe (Textausgabe per print oder komplizierter Graphik-Ausgabe im Chaos-Spiel) und Verarbeitung (etwa 10 * “Ich liebe Informatik!\n”) haben wir in Python schon kennengelernt. Höchste Zeit für Eingabe!
Schau dir das folgende Video an und programmiere parallel dazu alles an deinem Rechner mit. Im Video wirst du mehrmals dazu aufgefordert, das Abspielen kurz anzuhalten und eine kleine Aufgabe selbst zu lösen.
Wenn du mutig bist oder nicht so viel Theorie lesen willst, kannst du sofort versuchen, die Aufgaben im Abschnitt Aufgaben zum sinnvollen Einsatz von Variablen zu lösen. Sonst oder wenn du dabei Probleme hast: Lies hier weiter!
Man unterscheidet Daten nach ihrem Typ. Dieser Typ, genannt Datentyp legt die möglichen Werte fest, die die Daten annehmen dürfen.
Bei einer Person sind z. B. ihr Name und ihre Grösse wichtige Daten. Der Name einer Person ist eine Zeichenkette (etwa “Pinocchio”), die Grösse einer Person ist eine Zahl (etwa 189 (in Zentimetern gemessen)).
In Python gibt es die folgenden Datentypen:
str für string = Zeichenkette = Text; Strings3) sind Zeichenketten und werden in Anführungszeichen notiert; Bsp.: “Hello World!” oder “6”;int für integer = ganze Zahl; Bsp.: 6;float für floating point number = Kommazahl; Bsp.: -3.14159.
Den Typ kann man in Python mit dem Befehl type abfragen:
type(“Hallo”) oder type(23) oder type(5.6) eingegeben (jeweils gefolgt von Enter).Wie im Video erklärt, ist es oft nützlich, Daten eines Typs in einen anderen Typ umzuwandeln:
int in ganze Zahlen umwandeln: Beispielsweise liefert der Python-Befehl int(“123”) die ganze Zahl 123.float in Kommazahlen umwandeln: float(“-123.4”) liefert die Kommazahl -123.4.str. Zum Beispiel liefert str(-3.1) den String “-3.1”. Variablen sind “Speicherorte für Daten”. Jede Variable hat einen Namen und einen Wert.
Beispiel: Im Video kam die Variable (mit Namen) vorname vor. Während des Programmablaufs hatte sie nach der entsprechenden Eingabe den Wert “Pinocchio”. Da “Pinocchio” vom Datentyp string ist, nennt man vorname eine Variable vom Typ string oder kurz eine String-Variable.
Ähnlich:
Namen von Variablen beginnen in der Regel mit einem Kleinbuchstaben, danach können weitere Kleinbuchstaben folgen, auch Grossbuchstaben, Ziffern und Unterstriche (= Bodenstriche) sind erlaubt - von der Verwendung von Umlauten und Sonderzeichen wird dringend abgeraten, Leerzeichen sind nicht erlaubt. Variablennamen sollten kurz, aber aussagekräftig sein. Da die Sprache Python englische Begriffe verwendet (etwa print, if, else, for, while, …), ist es sinnvoll, deutsche Begriffe als Variablennamen zu verwenden. Sinnvolle Variablennamen sind etwa
vornamealterInJahrenxAlter in Jahren wegen der Leerzeichen.Je aussagekräftiger der Variablenname ist, desto leichter tut man sich beim Programmieren und desto leichter sind die Programme für andere Leute verständlich.
Mein Aufschrieb zu Variablen aus dem Video, den ich nun noch etwas ergänzt habe: In der Tabelle werden die Variablen samt ihrer Werte und Typen am Ende eines geeigneten Programmablaufs dargestellt:
Wenn du vom Benutzer eine Zeichenkette einlesen willst und die Eingabe in der Variablen s abspeichern willst, geht das mit dem folgenden Python-Befehl:
s = input("Gib eine Zeichenkette ein: ")
Wenn du vom Benutzer eine ganze Zahl einlesen willst und die Eingabe in der Variablen x abspeichern willst, geht das mit dem folgenden Python-Befehl:4)
x = int(input("Gib eine ganze Zahl ein: "))
Beachte: Der Befehl input gibt die Eingabe des Benutzers als Zeichenkette zurück. Diesen wandeln wir mit dem Befehl int in eine ganze Zahl um.5)
Wenn du vom Benutzer eine Kommazahl einlesen willst und die Eingabe in der Variablen x abspeichern willst, geht das analog mit dem folgenden Python-Befehl:
x = float(input("Gib eine Zahl ein: "))
Im folgenden Video erkläre ich unter anderem,
= in der Programmierung ein Zuweisungszeichen ist und kein Gleichheitszeichen wie in der Mathematik.Intuitiv ist dir dies alles vielleicht bereits klar, trotzdem empfehle ich das Video.
Schreibe ein Programm, das den Benutzer zur Eingabe einer (positiven ganzen) Zahle auffordert (etwa die Liebe zur Informatik auf einer Skala von 1 bis 10) und daraufhin entsprechend oft den Satz Ich liebe Informatik! ausgibt. Jeder Satz soll in einer neuen Zeile beginnen.
Schreibe ein Programm, das den Benutzer zur Eingabe zweier ganzer Zahlen auffordert. Das Programm soll ausgeben:
und zwar jeweils mit sinnvoller Erklärung der Ausgabe.
Bei der Eingabe der beiden Zahlen $33$ und $7$ könnte der Dialog mit dem Computer beispielsweise so aussehen:
Gib eine Zahl x ein: 33 Gib eine weitere Zahl y ein: 7 Du hast die beiden Zahlen x = 33 und y = 7 eingegeben. Die Summe dieser beiden Zahlen ist x+y = 40. Das Produkt dieser beiden Zahlen ist x*y = 231. Ganzzahlige Division: 33 dividiert durch 7 ist 4 Rest 5.
Schreibe ein Programm, das den Benutzer zur Eingabe zweier (positiver ganzer) Zahlen auffordert. Das Programm soll daraufhin ein “Rechteck aus Pluszeichen” ausgeben, dessen Länge und Breite die eingegebenen Zahlen sind.
Beispiel: Bei Eingabe der Zahlen 30 als Breite und 6 als Länge soll die Ausgabe wie folgt aussehen:
++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++
Ergänze den (unvollständigen) Python-Code
n = # eine beliebige natürliche Zahl
zu einem kurzen, aber “möglichst lesbaren” Python-Programm, dessen Ausgabe im Fall n = 4 das folgende $4 \times 4$-Raster ist. Für andere Werte von $n$ sollen entsprechende quadratische $n \times n$-Raster ausgegeben werden.
+--+--+--+--+ | | | | | +--+--+--+--+ | | | | | +--+--+--+--+ | | | | | +--+--+--+--+ | | | | | +--+--+--+--+
Auf W3Schools finden sich viele, meist sehr gute Materialien zu allen möglichen Programmiersprachen, etwa das Python-Tutorial von W3Schools.
Mit dem obigen Wissen kannst du bereits einige der
lösen.
Es gibt dort auch ein
jedoch muss man alle Fragen beantworten, bevor man die Auswertung erhält.
Ctrl+v in deine Datei hello-world.py kopieren. Alternativ kannst du auch mit der rechten Maustaste auf den Programmnamen “hello-world.py” oberhalb des folgenden Codes klicken und das Programm direkt in deinem Python-Verzeichnis abspeichern.str sind Zeichenketten.” In der Praxis macht das aber niemand.9.0 nicht akzeptiert (auch wenn dies eigentlich eine ganze Zahl ist).