Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ~~NOTOC~~ ====== Ausgabe (= output), Eingabe (= input) und Variablen ====== ===== Hello World und Arithmetik (= Rechnen mit Zahlen) mit Python ===== <WRAP center round todo> * (a) Schau dir den folgenden Screencast an und probiere parallel dazu an deinem eigenen Computer alles aus, was ich erkläre: (Wer Linux statt Windows verwendet: Statt der "command prompt" verwende das sogenannte Terminal (Hotkey ''Ctrl+Alt+t''). Statt ''dir'' ist dort ''ls'' einzugeben zum Auflisten des Inhalts des aktuellen Folders. Statt ''python'' muss man eventuell ''python3'' eingeben.)<html><br></html> [[https://fginfo.ksbg.ch/~olaf/videos-glf22/hello-world-und-arithmetik.mp4|Video "Hello World und Arithmetik"]]<html><br></html>Zusatzinfo: Wenn in VS-Code in deinem Python-Programm etwas rot angezeigt wird, verbirgt sich dort vermutlich ein Syntax-Fehler. * (b) Finde nun selbständig heraus, was die Rechenzeichen ''<nowiki>**</nowiki>'', ''<nowiki>//</nowiki>'' und ''%'' in Python bedeuten. Was berechnet beispielsweise der Ausdruck ''2 <nowiki>**</nowiki> 100''? <hidden Hinweis:>Ergänze dein beim Video-Anschauen geschriebenes Programm um Befehle wie ''print(2<nowiki>**</nowiki>10)'', führe es aus und variiere die Zahlen so lange, bis du das Rechenzeichen ''<nowiki>**</nowiki>'' verstehst. </hidden> <hidden Hinweis für die beiden letzten Rechenzeichen>Division mit Rest! Beispielsweise gilt "73 geteilt durch 10 ist 7 Rest 3". Ergänze dein Programm um die folgenden Zeilen: <code python> print(73 // 7) print(73 % 7) </code> </hidden> ---- <hidden Lösung:>Das Zeichen ''<nowiki>**</nowiki>'' ist Potenzieren (also etwa "2 hoch 10"), ''<nowiki>//</nowiki>'' ist ganzzahlige Division und ''%'' ist der Rest der ganzzahligen Division (ganzzahlige Division von 47 durch 10 liefert 4 Rest 7). Dies wird auch im Video im folgenden Abschnitt zur Python-Shell erklärt.</hidden> </WRAP> ===== Python-Shell (oder REPL) ===== <WRAP center round info> Wenn man nur mal kurz einen Befehl in Python ausprobieren möchte, ist die sogenannte Python-[[https://de.wikipedia.org/wiki/Shell_(Betriebssystem)|Shell]] nützlich. Sie wird auch [[https://en.wikipedia.org/wiki/Read_eval_print_loop| 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). </WRAP> <WRAP center round todo> 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. [[https://fginfo.ksbg.ch/~olaf/videos-glf22/python-shell.mp4|Video "Python-Shell bzw. REPL"]] Nachträge zum Video: * Die Python-Shell verlässt man per Tastatur durch Eingabe von ''exit()'' + ''Enter'' (oder per Hotkey ''Ctrl-z'' bzw. ''Ctrl-d'' in Linux). * Auch die App [[https://de.wikipedia.org/wiki/Cmd.exe|"command prompt"]] ist eine Shell: Hier verwendet man die Sprache DOS, um mit dem Betriebssystem zu kommunizieren. * Mit den den Pfeiltaste ''↑'' und ''↓'' kann man schnell zuvor eingegebene Befehle wiederfinden. * Mit der Tabulator-Taste ''Tab'' kann man sich oft viel Tipparbeit sparen (etwa von Datei- und Verzeichnisnamen), vgl. [[https://en.wikipedia.org/wiki/Command-line_completion|command-line-completion]]. * Wenn du in der Python-Shell (oder der "command prompt") arbeitest, vergiss die Maus und mach alles per Tastatur (was eh oft schneller ist). Du gibst etwas ein (eine Anfrage), sendest sie per ''Enter'' an den Computer, und dieser Antwortet. Dann wiederholt sich das Spiel. </WRAP> ===== Rechnen mit Zeichenketten (= Strings) ===== 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 ''<nowiki>'</nowiki>Hello World<nowiki>'</nowiki>''. In der folgenden Aufgabe lernst du, wie man in Python mit Zeichenketten "rechnen" kann. <WRAP center round todo> * (a) Zum Aufwärmen: Berechne in der Python-Shell die folgenden Ausdrücke: * ''"dunkel" + "blau"'' * ''"red " + "yellow " + "green"'' (beachte die Leerzeichen innerhalb der Strings) * ''11 + "Freunde"'' * ''4 * "Ich liebe Informatik!"'' * ''"eat, sleep, bike, repeat! " * 100'' * ''"hell" * "dunkel"'' <hidden Lösung:> * Das Addieren von zwei (oder mehreren) Strings ist das "Hintereinanderhängen". * Die Multiplikation einer positiven Zahl mit einem String hängt diesen so oft hintereinander, wie die Zahl angibt. Hierbei kann die Zahl links oder rechts des Strings stehen. * Die anderen Operationen ("Zahl plus String" und "String mal String") sind nicht definiert (und mir fällt auch keine sinnvolle Definition ein). </hidden> * (b) Lies das folgende Python-Programm und überlege, was es ausgibt. Führe es dann auf deinem Computer aus und teste so dein Verständnis. <code python rechnen-mit-zeichenketten.py> 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=")) </code> * Schreibe ein Python-Programm, dessen Ausgabe wie folgt aussieht - dabei sollst du natürlich möglichst viel mit Zeichenketten rechnen:<code text> 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.</code> <hidden Lösungsvorschlag.> <code python blaukraut.py> print(5 * "Blaukraut bleibt Blaukraut und Brautkleid bleibt Brautkleid. ") print() print("Es folgt 10 mal das Wort Algorithmus:" + 10 * " Algorithmus" + ".") print() print("Die " + 9 * "Hälfte der " + "Hälfte ist ein 1024-stel.") </code> </hidden> </WRAP> ==== Strings mit Zeilenumbruch ==== <WRAP center round info> Die Zeichenkombination ''\n'' bedeutet "Zeilenumbruch" oder englisch "new line", vgl. https://en.wikipedia.org/wiki/NewlineSonderzeichen. In der folgenden Aufgabe wirst du lernen, wie man sie nutzen kann. </WRAP> <WRAP center round todo> * (a) Speichere das folgende Python-Programm und führe es aus.((Die Wortlängen kodieren die ersten Nachkommastellen der Kreiszahl $\pi$, vgl. https://de.wikipedia.org/wiki/Pi-Sport#Merkregeln.))<code python new-line-exercise.py> 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") </code> * (b) Ergänze dein Programm um //einen// ''print''-Befehl, der die folgende zusätzliche Ausgabe erzeugt: (Nur EIN ''print''-Befehl ist erlaubt.)<code text> Nach diesem Wort kommt ein Zeilenumbruch.</code> <hidden Lösungsvorschlag:> Ergänze die folgende Code-Zeile. Dabei ist das "Newline-Zeichen" ''\n'' am Ende des Strings optional. <code python> print("Nach diesem Wort\nkommt ein Zeilenumbruch.\n") </code> </hidden> ---- * <nowiki>(c)</nowiki> Ergänze dein Programm um //eine// weitere, möglichst kurze Code-Zeile, die die folgende Ausgabe erzeugt: Hinweis: Rechnen mit Strings!<code text> 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! </code> <hidden Lösungsvorschlag:> <code python> print(10 * "Ich liebe Informatik!\n") </code> </hidden> ---- * (d) Ergänze dein Programm um //eine// weitere, möglichst kurze Code-Zeile, die das folgende "30x6-Rechteck aus Pluszeichen" als Ausgabe erzeugt:<code text> ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ </code> <hidden Lösungsvorschlag:> <code python> print(6*((30*"+")+"\n")) </code> </hidden> * Bonus: Ergänze dein Programm um //eine// weitere, möglichst kurze Code-Zeile, die das folgende Muster (4 Zeilen, 13 Pluszeichen pro Zeile) als Ausgabe erzeugt:<code text> +--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+ </code> <hidden Lösungsvorschlag:> <code python> print(4 * (12 * "+--" + "+\n")) </code> </hidden> </WRAP> ===== Eingabe, Variablen und Datentypen ===== <WRAP center round info> 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: * Bei einer Wetter-App auf dem Handy beispielsweise gibt der Benutzer einen Ort ein, das Handy beschafft sich die Wetterprognose zu diesem Ort (in der Regel von einem oder mehreren Wetterdiensten) und zeigt sie an. * Die übliche alltägliche Interaktion mit dem Computer in Apps beruht auf Tastatur- und Maus-Eingaben (als "Anfragen") und Ausgaben per Bildschirm ("als Antwort"), etwa beim Starten einer App, beim Scrollen durch diese Webseite, allgemeiner beim Surfen im Internet, und natürlich auch beim Programmieren in VS Code. Man spricht auch von dem [[https://de.wikipedia.org/wiki/EVA-Prinzip|EVA-Prinzip]] der Datenverarbeitung: **E**ingabe, **V**erarbeitung, **A**usgabe. 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! </WRAP> <WRAP center round todo> 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. [[https://fginfo.ksbg.ch/~olaf/videos-glf22/eingabe-und-einfuehrung-in-variablen-und-datentypen .mp4|Video "Eingabe, Variablen und Datentypen"]] <hidden Endzustand des Python-Programms, das im Video geschrieben wurde.> <code python begruessung.py> vorname = input("Gib bitte deinen Vornamen ein: ") nachname = input("Dein Nachname? ") print("Hallo " + vorname + nachname + "!") alter = input("Wie alt bist du? ") x = int(alter) print("Du bist " + alter + " Jahre alt.") print("Du bist etwa " + str(365 * x) + " Tage alt.") </code> </hidden> </WRAP> ===== Vertiefende Erklärungen zu den im Video bereits angesprochenen Themen ===== Wenn du mutig bist oder nicht so viel Theorie lesen willst, kannst du sofort versuchen, die Aufgaben im Abschnitt [[lehrkraefte:snr:informatik:glf22:python:variablen-input-output#aufgaben_zum_sinnvollen_einsatz_von_variablen|Aufgaben zum sinnvollen Einsatz von Variablen]] zu lösen. Sonst oder wenn du dabei Probleme hast: Lies hier weiter! ==== Datentypen ==== <WRAP center round info> 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; Strings((Ganz genau sollte man vermutlich sagen: "Daten vom Typ ''str'' sind Zeichenketten." In der Praxis macht das aber niemand.)) 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''. * einige andere Datentypen (etwa Listen), die wir teilweise später kennenlernen werden. Den Typ kann man in Python mit dem Befehl ''type'' abfragen: * Im Video habe ich in der Shell Befehle wie ''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: * Verwandlung von Zeichenketten in Zahlen: * strings (kurz für "Daten vom Typ string"), die nur aus Ziffern bestehen, kann man mit dem Befehl ''int'' in ganze Zahlen umwandeln: Beispielsweise liefert der Python-Befehl ''int("123")'' die ganze Zahl ''123''. * Analog kann man strings, die Kommazahlen darstellen, mit dem Befehl ''float'' in Kommazahlen umwandeln: ''float("-123.4")'' liefert die Kommazahl ''-123.4''. * Verwandlung von Zahlen in Strings: * Dies geschieht mit dem Befehl ''str''. Zum Beispiel liefert ''str(-3.1)'' den String ''"-3.1"''. </WRAP> ==== Variablen ==== <WRAP round info> 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: * //Integer-Variablen// speichern ganze Zahlen wie 5 oder -6; * //Float-Variablen// speichern Kommazahlen wie -1.2345; 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 * ''vorname'' * ''alterInJahren'' * ''x'' * nicht erlaubt ist ''Alter 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. </WRAP> <WRAP center round box> 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: {{:lehrkraefte:snr:informatik:glf22:python:variablentabelle.png?nolink&500|}} </WRAP> ==== Eingabe von Zeichenketten und Zahlen ==== <WRAP center round info> Wenn du vom Benutzer eine Zeichenkette einlesen willst und die Eingabe in der Variablen ''s'' abspeichern willst, geht das mit dem folgenden Python-Befehl: <code python> s = input("Gib eine Zeichenkette ein: ") </code> ---- 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:((In der Eingabe darf auch kein Punkt vorkommen; beispielsweise wird ''9.0'' nicht akzeptiert (auch wenn dies eigentlich eine ganze Zahl ist).)) <code python> x = int(input("Gib eine ganze Zahl ein: ")) </code> 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.((Im Programm aus dem ersten Video zur Eingabe haben wir dies etwas komplizierter in zwei Schritten gemacht. Zuerst haben wir eine Zeichenkette eingelesen und diese dann in eine ganze Zahl umgewandelt.)) ---- 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: <code python> x = float(input("Gib eine Zahl ein: ")) </code> </WRAP> ==== Wie man Variablen kreiert und mit ihnen rechnet ==== <WRAP round info> Im folgenden Video erkläre ich unter anderem, * wie man Variablen kreiert (sie müssen initialisiert werden); * dass man mit Variablen "ganz normal" rechnen kann; * dass das Zeichen ''='' 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. [[https://fginfo.ksbg.ch/~olaf/videos-glf22/variablen-initialisieren-zuweisungszeichen-variablen-veraendern .mp4|Video "Variablen initialisieren und verändern"]] </WRAP> ===== Aufgaben zum sinnvollen Einsatz von Variablen ===== <WRAP center round todo> 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. <hidden Hinweis:> Rechnen mit Zeichenketten! </hidden> <!--<hidden Lösungsvorschlag:> <code python> n = int(input("Wie sehr liebst du Informatik (Skala 1 bis 10)? ")) print(n * "Ich liebe Informatik!\n") </code> </hidden>--> </WRAP> <WRAP center round todo> Schreibe ein Programm, das den Benutzer zur Eingabe zweier ganzer Zahlen auffordert. Das Programm soll ausgeben: * die beiden eingegebenen Zahlen, * die Summe der beiden Zahlen, * das Produkt der beiden Zahlen, * Bonus: das Ergebnis der Division mit Rest, 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: <code text> 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. </code> <!--<hidden Lösungsvorschlag:> <code python summe-und-produkt.py> x = int(input("Gib eine Zahl x ein: ")) y = int(input("Gib eine weitere Zahl y ein: ")) print("Du hast die beiden Zahlen x = " + str(x) + " und y = " + str(y) + " eingegeben.") print("Die Summe dieser beiden Zahlen ist x+y = " + str(x + y) + ".") print("Das Produkt dieser beiden Zahlen ist x*y = " + str(x * y) + ".") print("Ganzzahlige Division: " + str(x) + " dividiert durch " + str(y) + " ist " + str(x//y) + " Rest " + str(x % y) + ".") </code> </hidden>--> </WRAP> <WRAP center round todo> 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: <code text> ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ </code> <!-- <hidden Lösungsvorschlag:> <code python> breite = int(input("Gib die Breite ein: ")) hoehe = int(input("Gib die Höhe ein: ")) print(hoehe * (breite * "+" + "\n")) </code> </hidden>--> </WRAP> <WRAP round todo> Ergänze den (unvollständigen) Python-Code <code python> n = # eine beliebige natürliche Zahl </code> 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. <code text> +--+--+--+--+ | | | | | +--+--+--+--+ | | | | | +--+--+--+--+ | | | | | +--+--+--+--+ | | | | | +--+--+--+--+ </code> <hidden Hinweis:> Definiere zwei String-Variablen ''zeile1'' und ''zeile2'', so dass der Wert von ''zeile1'' die erste auszugebende Zeile ist und der Wert von ''zeile2'' die zweite auszugebende Zeile. Verwende diese Variablen, um das gesamte Quadrat auszugeben.</hidden> <!-- <hidden Lösungsvorschlag:> <code python> n = 7 zeile1 = n * "+--" + "+" zeile2 = n * "| " + "|" print(n*(zeile1 + "\n" + zeile2 + "\n") + zeile1) </code> </hidden> --> </WRAP> ===== Bonus-Material ===== <WRAP center round info> Auf [[https://www.w3schools.com/|W3Schools]] finden sich viele, meist sehr gute Materialien zu allen möglichen Programmiersprachen, etwa das [[https://www.w3schools.com/python/default.asp|Python-Tutorial von W3Schools]]. </WRAP> <WRAP center round todo> Mit dem obigen Wissen kannst du bereits einige der * [[https://www.w3schools.com/python/python_exercises.asp|Python-Exercises von W3Schools]] lösen. Es gibt dort auch ein * [[https://www.w3schools.com/python/python_quiz.asp|Python-Quiz von W3Schools]], jedoch muss man alle Fragen beantworten, bevor man die Auswertung erhält. </WRAP> ===== Link zur Kursseite ===== [[lehrkraefte:snr:informatik:glf22|Zur Kursseite]] lehrkraefte/snr/informatik/glf22/python/variablen-input-output.txt Last modified: 2023/09/03 19:45by Olaf Schnürer