Seite 1 von 1

Funktion

Verfasst: Samstag 15. Dezember 2007, 16:58
von 12052007
Was ist falsch an dieser Funktion?
Ich möchte die Eingabe so überprüfen, dass bei einer negativen Zahl 'Länge negativ; Berechnung unmöglich.' ausgegeben wird.
(Ist natürlich nur ein Ausschnitt aus dem Quelltext)

Code: Alles auswählen

def f1():
    l=float(txt_L1.get())
    b=float(txt_B1.get())
    hs=float(txt_Q1.get())
    if (l>=0, b>=0, hs>=0):
        lab_As1.config(text=str(b*(b+2.*hs)),font=("Arial", 12, "bold italic" ))
        lab_Ss1.config(text=str((1./3.)*(b**2)*l),font=("Arial", 12, "bold italic" ))
        lab_Yy1.config(text=str(b*l),font=("Arial", 12, "bold italic" ))
        lab_Xx1.config(text=str(2.*b*hs),font=("Arial", 12, "bold italic") )
    else:
        lab_As1.config(text='Länge negativ; Berechnung unmöglich.')

Re: Funktion

Verfasst: Samstag 15. Dezember 2007, 17:15
von sma
12052007 hat geschrieben:Was ist falsch an dieser Funktion?
Diese Zeile. Sie macht nicht, was du denkst.

Code: Alles auswählen

if (l>=0, b>=0, hs>=0):
Stefan

Verfasst: Samstag 15. Dezember 2007, 17:22
von 12052007
Und was muss ich stattdessen reinschreiben, damit sie macht was ich denke?

Verfasst: Samstag 15. Dezember 2007, 17:25
von schlangenbeschwörer

Code: Alles auswählen

print (l>=0, b>=0, hs>=0)
print bool((l>=0, b>=0, hs>=0))
if True and True:
   print "du verstehst?"

Verfasst: Samstag 15. Dezember 2007, 17:28
von 12052007
Nein.
Eine Antwort in Form des korrekten Quelltextes würde mir weiterhelfen.

Verfasst: Samstag 15. Dezember 2007, 17:38
von sma
12052007 hat geschrieben:Nein.
Eine Antwort in Form des korrekten Quelltextes würde mir weiterhelfen.
Wo bleibt dann der Lerneffekt? :)

Code: Alles auswählen

>>> if (False, False): print "Oops"
... else: print "Hm"
...
Oops
Stefan

Verfasst: Samstag 15. Dezember 2007, 17:40
von schlangenbeschwörer
Das ist ein korrekter Quelltext. Du solltest in der Lage sein, aus ihm die Lösung deines Problems abzuleiten.

Verfasst: Samstag 15. Dezember 2007, 18:52
von nkoehring
falls du es noch immer nicht raus hast:

Code: Alles auswählen

>>> if (1, 2, 3): print "bla"

bla
>>> type( (1, 2, 3) )
<type 'tuple'>
>>> if (): print "no"
else: print "yes"

yes
>>> type( () )
<type 'tuple'>
>>> len( (1, 2, 3) )
3
>>> len( () )
0
>>> if 1 and 2 and 3: print "yes"

yes
>>> if 1, 2, 3: print "yes"
SyntaxError: invalid syntax
>>> 
...das ist doch wohl eindeutig erklaert, oder? :lol: