Testen Sie folgendes Programm
w = -5 print("Die Wurzel aus %f ist %f" % (w, w**0.5))
Anstatt einfach mit einem Fehler abzubrechen, könnte man vorher überprüfen, ob das Sinn macht:
# -*- coding: utf-8 -*- # Das ist ein Kommentar. Die obige Zeile erlaubt es # Umlaute ä, ö, ü in Kommentare zu schreiben. Sonst geht das in TigerJython aber nicht. w = float(raw_input("Zahl = ")) # Testen, ob die Wurzel überhaupt gezogen werden kann if (w>=0): print("Die Wurzel aus %f ist ungefähr %f" % (w, w**0.5)) else: print("Keine Wurzel aus negativen Zahlen, sorry")
Beachten Sie folgende Punkte:
== (zwei! Gleichheitszeichen) zur Überprüfung der Gleichheit<, <=, >=, > Kleiner, Kleiner gleich, grösser gleich, grösser!= ungleichand (beides, sowohl als auch)or (das eine, das andere oder beides)not (nicht)!= (für XOR, wenn das mal jemand braucht)
Hinweis: Das and hat eine höhere Priorität als das or (wie das * eine höhere Priorität hat als das +).
So erhält man True für den Ausdruck True or True and False weil zuerst das and ausgewertet wird.
(True or True) and False ergibt dann aber False.
Das Ergebnis eines Vergleichs ist immer True oder False.
Man beachte folgenden Code:
ok = True # Overkill: (ok==True ergibt einfach wieder True, und der folgende Block im if wird ausgeführt if ok==True: print("Alles ok") # Das reicht if ok: print("Viel schlanker und einfacher zu lesen und schreiben")
True oder False?
Achtung: Aufgaben 4 und 5 können ohne Rechnen gelöst werden!
2>3
7>9 or 9>7
not(True and (False or True))
234*345<321*251 and False
234*345<321*251 or True