lehrkraefte:snr:informatik:glf22:python:variablen-input-output

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:glf22:python:variablen-input-output [2022/08/31 09:56]
Olaf Schnürer [Bonus-Material]
lehrkraefte:snr:informatik:glf22:python:variablen-input-output [2023/09/03 19:45] (current)
Olaf Schnürer [Aufgaben zum sinnvollen Einsatz von Variablen]
Line 12: Line 12:
 <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 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>
-<hidden Hinweis für die beiden letzten Rechenzeichen>Division mit Rest! Beispielsweise gilt "73 geteilt durch 7 ist 10 Rest 3".</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>
  
 ---- ----
Line 31: Line 36:
 <WRAP center round todo> <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.) 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"]] [[https://fginfo.ksbg.ch/~olaf/videos-glf22/python-shell.mp4|Video "Python-Shell bzw. REPL"]]
Line 37: Line 44:
   * Die Python-Shell verlässt man per Tastatur durch Eingabe von ''exit()'' + ''Enter'' (oder per Hotkey ''Ctrl-z'' bzw. ''Ctrl-d'' in Linux).   * 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.   * 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> </WRAP>
  
Line 163: Line 173:
 <hidden Lösungsvorschlag:> <hidden Lösungsvorschlag:>
 <code python> <code python>
-print(4 * ((13 * "+--"+ "+\n"))+print(4 * (12 * "+--" + "+\n"))
 </code> </code>
 </hidden> </hidden>
Line 208: Line 218:
  
 <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''.
Line 260: Line 272:
 </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:
Line 288: Line 304:
  
 <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:>
Line 294: Line 310:
 </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>
  
Line 320: Line 336:
 </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: "))
Line 329: Line 345:
 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>
  
Line 345: Line 361:
 ++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++
 </code> </code>
 +<!--
 <hidden Lösungsvorschlag:> <hidden Lösungsvorschlag:>
 <code python> <code python>
Line 351: Line 368:
 print(hoehe * (breite * "+" + "\n")) print(hoehe * (breite * "+" + "\n"))
 </code> </code>
-</hidden> +</hidden>-->
 </WRAP> </WRAP>
  
Line 376: Line 392:
 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>
Line 384: Line 401:
 </code> </code>
 </hidden> </hidden>
 +-->
 </WRAP> </WRAP>
  
  • lehrkraefte/snr/informatik/glf22/python/variablen-input-output.1661932560.txt.gz
  • Last modified: 2022/08/31 09:56
  • by Olaf Schnürer