lehrkraefte:blc:informatik:ffprg1-2020:zahlvar

This is an old revision of the document!


Variablen mit Zahlen

Programme, sollen natürlich verschiedene Dinge tun können. Dazu werden die Daten in Variablen gespeichert und dann mit den Variablen gerechnet.

zahlvar.py
a=3
b=4
 
c=(a**2+b**2)**0.5
 
print("%f im Quadrat plus %f im Quadrat gibt %f im Quadrat." % (a,b,c))
print("%d im Quadrat plus %d im Quadrat gibt %d im Quadrat." % (a,b,c))
print("%d im Quadrat plus %.2f im Quadrat gibt %.4f im Quadrat." % (a,b,c))
  • Studieren Sie den obigen Output
  • Ändern Sie die Werte für a und b und studieren Sie den Output.
  • %d Ganzahlen
  • %f Dezimalzahlen
  • %s Zeichenketten (Strings)
  • Modifikatoren:
    • %.2f Anzahl Nachkommastellen.
    • %5.3f Fünf Stellen vor dem Komma (mit Leerschlägen füllen) und 3 nach dem Komma
    • %04d Vier Stellen für Ganzzahl, mit führenden Nullen aufgefüllt.

Es gibt noch viel mehr Möglichkeiten und Varianten.

Aufgaben

  • 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) <code txt> Nach 20 Jahren ist das Kapital von 100.00 mit einem Zins von 1.0% auf 122.02 angewachsen. </code> * Definieren Sie 2 Variablen m (Masse in kg) und g (Körpergrösse in cm). Das Programm soll den BMI (Body-Mass Index) auf eine Nachkommastelle gerundet ausgeben. <hidden Lösungsvorschläge> <code python zinseszins.py> 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))

</code>

bmi.py
m=50
g=160
bmi = ja das müssen Sie schon selber googeln :-P
print("Bei %.f kg Gewicht und der Grösse %d cm beträgt der bmi %.1f" % (m,g,bmi))

</hidden>

Quizz

Was ist jeweils die Ausgabe folgender Zeilen?

print("%d, %f" % (3.14, 3.14))
print("%03d" % 7.92)
a=2
b=3
print("%.2f" % (a/b))
You Scored % - /

Dokumentation

Die %f, %s und %d Formatierungen sind in vielen Programmiersprachen und Programmen implementiert und öfter mal praktisch zu kennen.

Die neue Python-Variante verwendet .format, das noch mehr Flexibilität bietet: Siehe https://pyformat.info/

”%.2f“ rundet mit der Ties to even rule, so ergibt z.B.

  • ”%.1f“ % 0.25 → “0.2”
  • ”%.1f“ % 0.35 → “0.4”
  • lehrkraefte/blc/informatik/ffprg1-2020/zahlvar.1580032502.txt.gz
  • Last modified: 2020/01/26 10:55
  • by Ivo Blöchliger