if, elif...

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.
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Donnerstag 9. November 2006, 13:01

@XtraNine: Klingt im Englischen etwas poetischer, ist aber inhaltlich korrekt wiedergegeben.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Donnerstag 9. November 2006, 19:53

Eine "poetischere" Übertragung wäre vielleicht:

Stehst du vor Mehrdeutigkeit, bleib stark und rate nicht!

:D
BlackJack

Donnerstag 9. November 2006, 22:31

Noch'n Versuch:

"Im Angesicht von Mehrdeutigkeit, widerstehe der Versuchung zu raten."
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Freitag 10. November 2006, 09:23

birkenfelds Ansatz klingt richtig schön heldenhaft. So richtig nach Manowar oder Conan oder so. ;-)

BlackJacks Übersetzung ist nahezu wortwörtlich. "verweigere Dich der Versuchung" wäre noch etwas genauer, klingt aber irgendwie holprig, oder?
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Freitag 10. November 2006, 15:36

Gut, dann sind wir wohl fertig mit der Englisch Stunde (?) ;) In dem Sinne Back 2 Topic ;)

P.S: Ich sagte ja das ich kein englisch kann (bzw. sehr schlecht) :P

lg xtra

EDIT:
N317V hat geschrieben:[...]
BlackJacks Übersetzung ist nahezu wortwörtlich. "verweigere Dich der Versuchung" wäre noch etwas genauer, klingt aber irgendwie holprig, oder?
Ne finde ich nicht. Das kommt der Poesie am nähsten. ;) ^^

Aber nun wirklich b2t ^^
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Freitag 10. November 2006, 17:23

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
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Freitag 10. November 2006, 17:43

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 ^^
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Freitag 10. November 2006, 18:25

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! ;)³
DanielTheNew
User
Beiträge: 13
Registriert: Donnerstag 26. Oktober 2006, 14:37

Sonntag 12. November 2006, 01:49

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]
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Sonntag 12. November 2006, 09:24

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
Benutzeravatar
Whitie
User
Beiträge: 111
Registriert: Sonntag 4. Juni 2006, 12:39
Wohnort: Schulzendorf

Sonntag 12. November 2006, 10:03

Hi,
Dein Code arbeitet doch wie erwartet.
Warum erwartest Du etwas Anderes ?

Gruß, Whitie
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 12. November 2006, 11:30

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
DanielTheNew
User
Beiträge: 13
Registriert: Donnerstag 26. Oktober 2006, 14:37

Sonntag 12. November 2006, 15:52

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.
Schirrmeister
User
Beiträge: 3
Registriert: Sonntag 12. November 2006, 14:48
Wohnort: Berlin

Sonntag 12. November 2006, 17:08

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.
Intelligenz ist etwas, von dem die meisten Menschen verschont blieben.
Antworten