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