Warum.......was hab ich falsch gemacht?

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
Aspicivi
User
Beiträge: 4
Registriert: Donnerstag 26. November 2015, 20:33

aspicivi@Aspire-V3-571G:~$ python3
Python 3.4.3+ (default, Oct 14 2015, 16:03:50)
[GCC 5.2.1 20151010] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> Baum = (" Birnbaum ", "Apfelbaum")
>>> "Birnbaum" not in Baum
True
>>> "Birnbaum" in Baum
False
>>>

LG

Danke im Vorraus ;D
Chemical Bro
User
Beiträge: 14
Registriert: Freitag 20. November 2015, 11:02

Gehören die Leerzeichen in " Birnbaum " dazu?
Könnte es daran liegen?
Was passiert bei "Apfelbaum"?
BlackJack

@Aspicivi: Falsch ist auch der Name `Baum` für einen Wert der so sicher nicht für *einen* Baum steht. Namen sind wichtig, weil sie beim verstehen von Code helfen, oder das erschweren wenn sie schlecht/unpassend gewählt sind.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Zuerst: Der Threadname ist falsch. Das hilft niemandem der vielleicht einmal vor einem aehnlichen Problem stehen wuerde.
Zweitens: Wie BlackJack schon sagt `Baum` ist ein falscher name `baeume` waere treffender und es sollte kein Tupel, sondern eine Liste sein.

Und des Raetsels Loesung: "Birnbaum" ist kein Element von `Baum`. Auf den Grund duerftest du kommen, wenn du Chemical Bros Post liest.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

cofi hat geschrieben:... und es sollte kein Tupel, sondern eine Liste sein.
Warum das?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
BlackJack

@Hyperion: Weil die Elemente offensichtlich vom gleichen „duck type“ sind und die Indexposition keine Bedeutung hat. Dann nimmt man üblicherweise eine Liste und kein Tupel. Oder umgekehrt: Wenn der Index eine Bedeutung hat wie 0 ist der Vorname und 1 ist der Nachname, dann nimmt man ein Tupel. Sieht Guido jedenfalls so. :-)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Hm... ok, aber bei der Begründung fehlt der Aspekt der Unveränderlichkeit - dieses Kriterium ist doch unabhängig vom Kriterium des gleichen Duck Types, den Du und Guido nennt! (Auch wenn ich hier auch nicht glaube, dass der OP wirklich etwas unveränderliches haben will :-D )
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

In diesem Fall scheint mit ein set doch sinnvoller als eine Liste.
Antworten