Seite 1 von 1
Problem Tupelbeispiel aus dem Tutorial "A Byte of Pytho
Verfasst: Mittwoch 5. September 2007, 17:14
von uwe_holst
Moin moin,
ich nutze Python 2.5 unter Win XP und die deutsche Version des Tutorials.
Folgendes Beispiel wird dort genutzt:
Code: Alles auswählen
zoo = ('Wolf', 'Elefant', 'Pinguin')
print u"Die Zahl der Tiere im Zoo ist:", len(zoo)
neuer_zoo = ('Affe','Delfin','Schaf', zoo)
print "Die Zahl der Tiere im neuen Zoo ist:", len(neuer_zoo)
Das Print Statement aus Zeile 2 gibt mir korrekt die Anzahl 3 zurück. Das Statement aus der letzten Zeile aber die Anzahl 4. Nach meinem Verständnis müßte dort doch eigentlich 6 zurückkommen. Verstehe ich etwas falsch oder habe ich einen Fehler im Code?
Gruss - Uwe
Verfasst: Mittwoch 5. September 2007, 17:20
von schlangenbeschwörer
Code: Alles auswählen
neuer_zoo = ('Affe', # 1
'Delfin', # 2
'Schaf', # 3
('Wolf', 'Elefant', 'Pinguin')) # 4
Verfasst: Mittwoch 5. September 2007, 17:47
von keppla
wenn das wirklich 1:1 das Beispiel aus dem Buch ist, sollte man dem Autor mal schreiben, dass er da einen Fehler gemacht hat.
allerdings könnte ich mir vorstellen, das die Zeile
eigentlich
lauten sollte, das würde nämlich genau zum gewünschten verhalten passen.
A Byte of Python
Verfasst: Mittwoch 5. September 2007, 18:55
von uwe_holst
Hm, da
http://swaroopch.info/text/Byte_of_Pyth ... or_1_items
ist das englische Original, und da schreibt er auch textuell, dass was zum Code paßt. In der deutschen Übersetzung verstehe ich das etwas anders.
Danke für die Hinweise, so macht Lernen Spaß
Uwe
Verfasst: Mittwoch 5. September 2007, 20:35
von pyStyler
Hallo,
also ich würde sagen, dass sich da kein Fehler eingeschlichen hat.
Code: Alles auswählen
>>> zoo = ('Wolf', 'Elefant', 'Pinguin')
>>> print u"Die Zahl der Tiere im Zoo ist:", len(zoo)
Die Zahl der Tiere im Zoo ist: 3
>>> neuer_zoo = ('Affe','Delfin','Schaf', zoo)
>>> print "Die Zahl der Tiere im neuen Zoo ist:", len(neuer_zoo)
Die Zahl der Tiere im neuen Zoo ist: 4
>>> print neuer_zoo[3]
('Wolf', 'Elefant', 'Pinguin')
>>>
Gruss
pyStyler
Verfasst: Mittwoch 5. September 2007, 20:40
von Leonidas
pyStyler hat geschrieben:also ich würde sagen, dass sich da kein Fehler eingeschlichen hat.
Natürlich ist das Programm korrekt, weil ``neuer_zoo`` wie man es dreht und wendet nun mal vier Elemente hat. Kann sein, dass die deutsche Übersetzung das nicht explizit klarstellt, aber es ist nun mal so.
Das ein Tupel in ein anderes entpackt wird, hätte ich eher bei dem Code ``neuer_zoo = ('Affe','Delfin','Schaf', *zoo)`` erwartet, aber dieser ist kein gültiges Python.