Tagebuch-Eintrag #3
print() – was ich beachten muss
Aktuell beschäftige ich mich mit einfachen Rechenaufgaben und zusätzliche Textausgaben als sichtbarer Kommentar.
# Übungen mit Zahlen und einfach Mathematik
print("5 + 4" + " Hier wird lediglich 5 + 4 ausgegeben, anstatt die Summe 9")
# Summe + Text ausgeben
print(str(5+4) + " Jetzt wird die Summe ausgegeben.")
# Zahlen aus Variablen und dann in die Rechenaufgabe
a = 10
b = 5
print(5+7)
print(str(a+b) + " Jetzt wird die Summe ausgegeben. Beide Zahlen sind Variablen")
# Ergebnis wird mit Kommastelle ausgegeben
print(str(a/b) + " Ergebnis wird mit Kommastelle ausgegeben")
# Ergebnis wird ohne Kommastelle ausgegben.
print(int(a/b) + "Ergebnis wird ohne Kommastelle ausgegben.")
# Punktrechnung vor Strichrechnung
print(str(a+b*a) + " Punktrechnung vor Strichrechnung" )
Die Übung ist relativ einfach. Jedoch gibt es eine Fehlermeldung für den Befehl in der Zeile 13. Die Fehlermeldung lautet:
Traceback (most recent call last):
File "d:/_my_python/zahlen.py", line 13, in <module>
print(int(a/b) + "Ergebnis wird ohne Kommastelle ausgegben.")
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Ich verstand erst nicht was der Fehler ist. Denn die Befehle darüber wurde korrekt ausgeführt und ausgegeben. Der TypeError besagt, dass Integer und Strings nicht mit + kombiniert werden kann.
Gebe ich das Ergebnis als String aus – siehe Zeile 11, so wird das Ergebnis mit Kommastelle ausgeben, was ich in der Zeile 13 ja nicht möchte.
Hier hatte ich also schon mein erstes Python-Problem, was ich lösen will und muss. Für den Moment war ich erstmal ratlos.
Problem gelöst – mit print()
Am nächsten Tag befasste ich mich nochmal mit dem Problem. Und irgendwann fiel mir im Python-Tutorial die Definition von print() auf:
print(value1, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Die besagt auf meinem Fall bezogen, dass mehrere Werte einfach mit einem Komma zu trennen werden. Also probierte ich es gleich aus. Änderte meinen print-Befehl zu:
# Ergebnis wird ohne Kommastelle ausgegben.
print(int(a/b), "Ergebnis wird ohne Kommastelle ausgegben.")
Und wie von Zauberhand wurde das Ergebnis ohne Kommastelle und vor allem ohne Fehlermeldung ausgegeben.

Wieder was gelernt! Und der print-Befehl wird mich sicher noch weiter beschäftigen, damit ich es korrekt anwende.
Unterschied zwischen Plus und Komma
Der sichtbare Unterschied zwischen + (Plus) und , (Komma) ist, dass bei der Verwendung von Pluszeichen ein Leerzeichen manuell eingefügt werden muss. Bei der Trennung mit Komma wird automatisch ein Leerzeichen zwischen den Werten hinzugefügt.
# Ergebnis wird mit Kommastelle ausgegeben. Leerzeichen muss manuell hinzugefügt werden.
print(str(a/b) + " Ergebnis wird mit Kommastelle ausgegeben")
# Ergebnis wird ohne Kommastelle ausgegeben. Leerzeichen wird automatisch eingefügt.
print(int(c), "Ergebnis wird ohne Kommastelle ausgegeben.")
Ob Pluszeichen oder Komma besser ist kann ich nach meinen derzeitigen Kenntnissen noch nicht sagen. Sicherlich ist es auch situationsbedingt. Wichtig ist erstmal, dass ich die Unterschiede weiß und je nach Erfordernis anwende.
Keep goin‘