Seite 2 von 2

Verfasst: Freitag 10. November 2006, 17:23
von birkenfeld
XtraNine hat geschrieben:Gut, dann sind wir wohl fertig mit der Englisch Stunde (?) ;)
Dann können wir ja mit der Deutschstunde weitermachen. Heute: Deppenleerzeichen.

SCNR

Verfasst: Freitag 10. November 2006, 17:43
von sape
birkenfeld hat geschrieben:
XtraNine hat geschrieben:Gut, dann sind wir wohl fertig mit der Englisch Stunde (?) ;)
Dann können wir ja mit der Deutschstunde weitermachen. Heute: Deppenleerzeichen.

SCNR
Ist schon recht ^^

Verfasst: Freitag 10. November 2006, 18:25
von sape
birkenfeld hat geschrieben:
XtraNine hat geschrieben:Gut, dann sind wir wohl fertig mit der Englisch Stunde (?) ;)
Dann können wir ja mit der Deutschstunde weitermachen. Heute: Deppenleerzeichen.

SCNR
oder mit >> http://de.wikipedia.org/wiki/Plenk#Sond ... C3.B6sisch << Stunde ;)
birkenfeld hat geschrieben:
XtraNine hat geschrieben: [...]
SCNR
Dito! ;)³

Verfasst: Sonntag 12. November 2006, 01:49
von DanielTheNew
bin gerade mit der boardsuche auf diesen Thread gekommen und hab auch ne frage zu if

Code: Alles auswählen

test = 'blub'
if test != 'blub':
	print 'ist nicht blub'
else:
	print 'ist blub'
wieso erhalte ich hier die ausgabe "ist blub" ?????

ausgesprochen ist es doch " ist test nicht blub dann schreibe ist nicht blub.

also müsste die ausgabe doch "ist nicht blub" sein.

wo liegt mein gedankenfehler?

mfg[/code]

Verfasst: Sonntag 12. November 2006, 09:24
von DatenMetzgerX
hä?

Bei der ersten Prüfung wird überprüft ob "blub" nicht gleich "blub" ist... Aber da "blub" nach wie vor "blub" ist, wird "ist blub" ausgegeben

Verfasst: Sonntag 12. November 2006, 10:03
von Whitie
Hi,
Dein Code arbeitet doch wie erwartet.
Warum erwartest Du etwas Anderes ?

Gruß, Whitie

Verfasst: Sonntag 12. November 2006, 11:30
von Leonidas
DanielTheNew hat geschrieben:ausgesprochen ist es doch " ist test nicht blub dann schreibe ist nicht blub.
Es ist mir zu kompliziert, diesen Satz ohne Interpunktion und Großbuchstaben und Apostrophe zu verstehen. Ich formulier es daher nochmal auf Deutsch (und zwar vereinfacht):

Ist 'test' nicht "blub", dann zeige "ist nicht blub" an. Andernfalls zeige "ist blub" an.

Da aber 'test' gleich blub ist, wird doch das richtige angezeigt.

Aber so nebenbei, die Abfrage würde man andersrum schreiben, sonst wird es unnötig kompliziert.

Verfasst: Sonntag 12. November 2006, 15:52
von DanielTheNew
Leonidas hat geschrieben:
DanielTheNew hat geschrieben:ausgesprochen ist es doch " ist test nicht blub dann schreibe ist nicht blub.
Es ist mir zu kompliziert, diesen Satz ohne Interpunktion und Großbuchstaben und Apostrophe zu verstehen. Ich formulier es daher nochmal auf Deutsch (und zwar vereinfacht):

Ist 'test' nicht "blub", dann zeige "ist nicht blub" an. Andernfalls zeige "ist blub" an.

Da aber 'test' gleich blub ist, wird doch das richtige angezeigt.

Aber so nebenbei, die Abfrage würde man andersrum schreiben, sonst wird es unnötig kompliziert.

Ihr habt natürlich recht.
Es wahr gestern wohl doch etwas zu spät.

Trotzdem danke für eure Hilfe.

Re: if, elif...

Verfasst: Sonntag 12. November 2006, 17:08
von Schirrmeister
Ich hoffe, ich wiederhole jetzt hier niemanden, aber die Bananendiskusion
hab ich mir jetzt nicht komplett durchgelesen...
rolgal_reloaded hat geschrieben:

Code: Alles auswählen

...
if antwort == 1:
    ergebnis = betrag * umrechnungsfaktor
    print "Der Schillingbetrag lautet: ", ergebnis
elif antwort == 2:
    ergebnis = betrag / umrechnungsfaktor
    print "Der Eurobetrag lautet: ", ergebnis
else:
    print antwort, "ist eine ungültige Eingabe!"
Statt dem elif wäre auch if möglich.
Was ist besser, oder ist es in dem Fall reine Geschmackssache?
...
Nein, das ist in keinster Weise egal, und zwar aus folgenden Gründen:
  • Ein elif wird nur ausgewertet, wenn das zugehörige if nicht zutraf, d.h. wenn Du nochmal if schreibst, wird dieses ggf. unnötigerweise ebenfalls ausgewertet. Bei einer Bedingung mit Nebeneffekten (z.B. Funktionsaufrufe) kann das ungewollte Effekte hervorrufen.
  • Wenn das erste if zutrifft, wird das zweite if (also statt elif) entsprechend nicht zutreffen, und stattdessen das else ausgeführt, was wohl auch nicht in deinem Sinne wäre.
Wirklich egal (bzw. Geschmackssache ist es nur dann, wenn bei der ersten zutreffenden Bedingung der aktuelle lexikalische Bereich verlassen wird, z.B. duch ein return.