Funktion

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
12052007
User
Beiträge: 8
Registriert: Dienstag 11. Dezember 2007, 14:57

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.')
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

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
12052007
User
Beiträge: 8
Registriert: Dienstag 11. Dezember 2007, 14:57

Und was muss ich stattdessen reinschreiben, damit sie macht was ich denke?
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

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?"
12052007
User
Beiträge: 8
Registriert: Dienstag 11. Dezember 2007, 14:57

Nein.
Eine Antwort in Form des korrekten Quelltextes würde mir weiterhelfen.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

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
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Das ist ein korrekter Quelltext. Du solltest in der Lage sein, aus ihm die Lösung deines Problems abzuleiten.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

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:
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Antworten