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

Funktion

Beitragvon 12052007 » Samstag 15. Dezember 2007, 16:58

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

Re: Funktion

Beitragvon sma » Samstag 15. Dezember 2007, 17:15

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

Beitragvon 12052007 » Samstag 15. Dezember 2007, 17:22

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:

Beitragvon schlangenbeschwörer » Samstag 15. Dezember 2007, 17:25

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

Beitragvon 12052007 » Samstag 15. Dezember 2007, 17:28

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

Beitragvon sma » Samstag 15. Dezember 2007, 17:38

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:

Beitragvon schlangenbeschwörer » Samstag 15. Dezember 2007, 17:40

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:

Beitragvon nkoehring » Samstag 15. Dezember 2007, 18:52

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:

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder