Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
lehrkraefte:snr:informatik:glf22:python:variablen-input-output [2022/09/03 13:04] Olaf Schnürer [Python-Shell (oder REPL)] |
lehrkraefte:snr:informatik:glf22:python:variablen-input-output [2023/09/03 19:45] (current) Olaf Schnürer [Aufgaben zum sinnvollen Einsatz von Variablen] |
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.) | 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 Benutzer (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. | 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"]] | [[https://fginfo.ksbg.ch/~olaf/videos-glf22/python-shell.mp4|Video "Python-Shell bzw. REPL"]] |
* Mit den den Pfeiltaste ''↑'' und ''↓'' kann man schnell zuvor eingegebene Befehle wiederfinden. | * 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]]. | * 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> | </WRAP> |
| |
| |
<WRAP center round info> | <WRAP center round info> |
Man unterscheidet Daten nach ihrem Typ. 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)). | 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: | In Python gibt es die folgenden Datentypen: |
* ''str'' für //string// = Zeichenkette = Text; Strings((Ganz genau sollte man vermutlich sagen: Daten vom Typ ''str''. In der Praxis macht das aber niemand.)) werden in Anführungszeichen notiert; Bsp.: ''"Hello World!"''; | * ''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''; | * ''int'' für //integer// = ganze Zahl; Bsp.: ''6''; |
* ''float'' für //floating point number// = Kommazahl; Bsp.: ''-3.14159''. | * ''float'' für //floating point number// = Kommazahl; Bsp.: ''-3.14159''. |
</code> | </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: | ---- |
| |
| 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> | <code python> |
x = int(input("Gib eine ganze Zahl ein: ")) | x = int(input("Gib eine ganze Zahl ein: ")) |
</code> | </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.)) | 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: | 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: |
| |
<WRAP center round todo> | <WRAP center round todo> |
Schreibe ein Programm, das den Benutzer zur Eingabe einer (positiven ganzen) Zahlen auffordert 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 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:> | <hidden Hinweis:> |
</hidden> | </hidden> |
| |
<hidden Lösungsvorschlag:> | <!--<hidden Lösungsvorschlag:> |
<code python> | <code python> |
n = int(input("Wie oft soll ich den Satz ausgeben? ")) | n = int(input("Wie sehr liebst du Informatik (Skala 1 bis 10)? ")) |
print(n * "Ich liebe Informatik!\n") | print(n * "Ich liebe Informatik!\n") |
</code> | </code> |
</hidden> | </hidden>--> |
</WRAP> | </WRAP> |
| |
</code> | </code> |
| |
<hidden Lösungsvorschlag:> | <!--<hidden Lösungsvorschlag:> |
<code python summe-und-produkt.py> | <code python summe-und-produkt.py> |
x = int(input("Gib eine Zahl x ein: ")) | x = int(input("Gib eine Zahl x ein: ")) |
print("Ganzzahlige Division: " + str(x) + " dividiert durch " + str(y) + " ist " + str(x//y) + " Rest " + str(x % y) + ".") | print("Ganzzahlige Division: " + str(x) + " dividiert durch " + str(y) + " ist " + str(x//y) + " Rest " + str(x % y) + ".") |
</code> | </code> |
</hidden> | </hidden>--> |
</WRAP> | </WRAP> |
| |
++++++++++++++++++++++++++++++ | ++++++++++++++++++++++++++++++ |
</code> | </code> |
| <!-- |
<hidden Lösungsvorschlag:> | <hidden Lösungsvorschlag:> |
<code python> | <code python> |
print(hoehe * (breite * "+" + "\n")) | print(hoehe * (breite * "+" + "\n")) |
</code> | </code> |
</hidden> | </hidden>--> |
</WRAP> | </WRAP> |
| |
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> | 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:> | <hidden Lösungsvorschlag:> |
<code python> | <code python> |
</code> | </code> |
</hidden> | </hidden> |
| --> |
</WRAP> | </WRAP> |
| |