lehrkraefte:blc:informatik:glf20:programmieren:io-and-vars

This is an old revision of the document!


Das erste Programm

  • Starten Sie TigerJython und geben Sie folgendes Programm ein (erst mal von Hand, ohne Copy-Paste):
print("Hello World!")
  • Speichern Sie das Programm an einem geeigneten Ort und dem Namen hello.py
  • Führen Sie das Programm aus.
  • Testen und verstehen Sie folgendes Programm:
print("2+3*4 ergibt nicht 20 sondern:")
print(2+3*4)
print("Die Wurzel aus 2 ist:")
print(2**0.5)

Es gelten die üblichen Rechenregeln (Punkt vor Strich, Klammern etc.)

Variablen

Variablen beginnen i.d.R. mit einem Kleinbuchstaben. Danach können weitere Zeichen wie Grossbuchstaben, Ziffern und Bodenstriche verwendet werden. Von Sonderzeichen, Umlauten etc. wird abgeraten.

Variablen können verschiedene Dinge speichern, typischerweise Zahlen oder Text (auch Strings genannt), aber auch beliebig komplizierte Dinge.

Mit Variablen kann gerechnet werden. Je nach Typ (Zahl oder Text) sind die Operationen nicht definiert oder bewirken unterschiedliches.

  • Verbessern Sie das folgende Programm (die Ausgabe ist nicht ganz so wie gewünscht):
# Das ist ein Kommentar und wird bei der Ausführung ignoriert.
# Die Leerschläge um das Gleichheitszeichen sind optional und dienen nur der Lesbarkeit des Programms
a = "Hello"
b = "World!"
c = a+b
print(c)
  • Erklären Sie die Ausgabe des folgenden Programms:
a = "6"
b = "7"
c = a+b
print(c)
 
a = 6
b = 7
c = a+b
print(c)
  • Was bewirkt Text mal Zahl?
a="bla "
print(a*10)

Mit \n kann ein Zeilenumbruch in einen Text (String) eingefügt werden, z.B.

print("Immer\nwieder\neine\nneue\nZeile..")
  • Schreiben Sie ein Programm, das folgende Ausgabe produziert. Ziel ist es, dass das Programm weniger Platz braucht, als die Ausgabe:
+---+---+---+---+---+
|   |   |   |   |   |
+---+---+---+---+---+
|   |   |   |   |   |
+---+---+---+---+---+
|   |   |   |   |   |
+---+---+---+---+---+
|   |   |   |   |   |
+---+---+---+---+---+
|   |   |   |   |   |
+---+---+---+---+---+
  • Erweitern Sie Ihr Programm so, dass Sie in der Ersten Zeile mit einer Variablen die Grösse des Text-Quadrats beliebig wählen können.

Input / Output

  • Testen Sie folgendes Programm
s = inputString("Bitte Ihren Namen:")
print("Guten Tag, "+s)
  • Testen Sie folgendes Programm:
s = inputInt("Bitte eine Zahl:")
print("Das Quadrat von")
print(s)
print("ist")
print(s*s)

Es stehen folgende Funktionen für das Einlesen von der Tastatur zur Verfügung:

  • inputString liest die Eingabe als Text ein (auch z.B. “42”).
  • inputInt liest die Eingabe als Ganzzahl ein. Andere Eingaben werden nicht akzeptiert.
  • inputFloat liest die Eingable als Dezimalbruch (float) ein, wie z.B. 3.1415926
g = 42             # Typ int (Ganzzahl)
d = 3.1415926      # Typ float (Dezimalzahl)
s = "Hallo"        # Typ string (Text)
 
print("Dezimal %d, Float %f, String %s" % (g,d,s))

Die %d, %f und %s im Text werden durch die Werte ersetzt, die nach dem %-Operator in der Liste in dieser Reihenfolge aufgeführt sind.

Weitere Formatierungsangaben sind möglich, z.B. führende Nullen, führende Leerschläge, Anzahl Nachkommastellen:

print("Dezimal, Breite 5 ->%5d<-, Float, 2 Nachkommastellen %.2f" % (g,d))
print("Dezimal, Breite 3 mit führenden Nullen ->%03d<-" % g)

Hier noch die offizelle Dokumentation. In Python3 wird zwar noch eine andere Variante mit .format() empfohlen. Die hier präsentierte Variante ist aber so in fast allen Programmiersprachen möglich.

Aufgaben

  • Vervollständigen Sie:
n = inputInt("Wurzel von welcher Ganzzahl?")
wurzel = n**0.5  # hoch 1/2 entspricht der Wurzel (weil wenn man quadriert...)
# Hier fehlt die Ausgabe in der Form
# Die Wurzel von 10 ist ungefähr 3.16, genauer 3.16227766016837952
  • Schreiben Sie ein Programm, das den BMI nach der Formel $\frac{m}{h^2}$ berechnet, wobei $m$ die Masse in kg und $h$ die Körpergrösse in m ist. Masse in kg und Grösse in cm sollen vom Benutzer eingelesen werden. Die Ausgabe soll in etwa wie folgt aussehen:
Der BMI bei einer Grösse von 1.65 m und einem Gewicht von 62 kg beträgt 22.8.
  • Definieren Sie 3 Variablen k (Kapital), p (Zinsatz) und n (Anzahl Jahre). Das Programm soll das mit Zinseszins verzinste Kapital nach n Jahren auf 2 Kommastellen gerundet ausgeben. Die Ausgabe soll z.B. wie folgt aussehen: (% wird mit %% ausgegeben)
Nach 20 Jahren ist das Kapital von 100.00 mit einem Zins von 1.0% auf 122.02 angewachsen.
Was ist die Ausgabe von
print(5+1*8-1)
Was ist die Ausgabe von
print((5+1)*(8-1))
Welche Ausgabe produziert
print(("a"*3+"b"*2)*2)
Was ist die Ausgabe von
print("%03d" % 7.92)
Was ist die Ausgabe von
a=2
b=3
print("%.2f" % (a/b))
You Scored % - /

Lösungsvorschläge

Lösungsvorschläge

Lösungsvorschläge

n = 6
a = "+---"*n+"+\n"
b = "|   "*n+"|\n"
print((a+b)*n+a)
n = inputInt("Wurzel von welcher Ganzzahl?")
wurzel = n**0.5  # hoch 1/2 entspricht der Wurzel (weil wenn man quadriert...)
# Hier fehlt die Ausgabe in der Form
# Die Wurzel von 10 ist ungefähr 3.16, genauer 3.16227766016837952
print("Die Wurzel von %d ist ungefähr %.2f, genauer %.17f" % (n,wurzel, wurzel))
k=100
p=1
n=20
kn = k*(1+p/100)**n
print("Nach %d Jahren ist das Kapital von %.2f mit einem Zins von %.1f%% auf %.2f angewachsen." % (n,k,p,kn))
m = inputInt("Gewicht in kg?")
h = inputInt("Grösse in cm?")
h = 0.01*h
bmi = m/(h*h)
print("Der BMI bei einer Grösse von %.2f m und einem Gewicht von %d kg beträgt %.1f" % (h,m,bmi))
  • lehrkraefte/blc/informatik/glf20/programmieren/io-and-vars.1599721874.txt.gz
  • Last modified: 2020/09/10 09:11
  • by Ivo Blöchliger