Das 'e' muss nicht an vierter Stelle stehen, der Exponent kann auch dreistellig sein.XtraNine hat geschrieben:Funktioniert jetzt auch mit floats die nen exp haben. Naja ist zwar ungenau, aber dagegen kann ich ja nichts machen. Wüste auch nicht wie.
Grmpf, hätte ich wohl einfach mal ausprobieren sollen.[Edit: Code ins LodgeIt ausgelagert]
Was ist daran überraschend? aus "- abc" wird "cba -" 0o. Falls das eine Anspielung auf strings sein soll, die werden ja vorher abgefangen in Zeile 6, und in 7 returned.reverse_value('- abc')
Das Ergebnis finde ich etwas überraschend.
Es geht gar nicht darum das ich diese spezielle Funktion nicht sinnvoll finde, sondern die Art wie sie sehr viele verschiedene Dinge tut. "Einfach etwas umdrehen" sagt sich so leicht. Das würde als Docstring sicher nicht ausreichen um die Funktion zu beschreiben. Wenn Du anfängst die Vorbedingungen an die Objekte und die Ergebnisse (wohlgemerkt Mehrzahl!) zu beschreiben, fällt Dir vielleicht auf warum ich finde das das nicht eine Funktion ist, sondern im Grunde mehrere.Ja bei den floats sehe ich gerade das es ein wenig strange ist. Werde ich ändern(?). was meinst du mit ->> *eine* <<- warum diese Hervorhebung? Ich verstehe deine frage nicht? Ihr wart doch die jenigen die sagen "Duck-Typing" ist tool ich versuche gerade dem gerecht zu werden in dem ich eine einfache Funktion schreibe die einfach etwas umdreht. Dabei spielt es keine roll ob es eine Zahl ist, oder eine Zeichenkette, oder eine Decimal Zahl (complex lasse ich weg. mach mMn keine Sinn.). Ich würde gerne eine Begründung wissen weshalb du gerade diese Funktion überflüssig findest?Bei Fliesskommazahlen wird es noch verwirrender. Und warum muss das unbedingt *eine* Funktion sein, die alles kann?
Ich habe es noch nicht gebraucht. Während ich mir beim ersten noch Anwendungsfälle vorstellen könnte, fällt mir so gar keiner ein, warum ich *eine* Funktion bräuchte die *beides* macht.Was sprich außer, dieses Beispiel, gegen die Funktion expand_value()? Braucht man das nicht das man 12985764 als [1,2,9,8,5,7,6,4] hat oder 1.234 als [1,'.',2,3,4].Was spricht dagegen sum(map(int, str(number))) als Funktion `quersumme` zu definieren?
Worauf ich hinaus will, ist dass Du mal beschreibst was bei dem Fliesskommabeispiel mit dem *Wert* gemacht wird, nicht mit einer Repräsentation des Wertes zu einer Basis als Zeichenkette. Was ist bei einer *Zahl* rechts oder links? Oder meinetwegen eine Beschreibung was mit dem Wert bei einer ganzen Zahl passiert, das ist vielleicht einfacher.-> -43.21. Es wird einfach die Zahl umgedreht. Ich weiß nicht worauf du hinaus willst...Und was ist der reversed Wert von -12.34? Und versuch das mal ohne die Zeichenkettenrepräsentation zu beschreiben.
reverse_value = Drehe die zahl, zeichenkette von rechts nach links um.
Eine Liste hat Elemente auf die man zugreifen und die man in umgekehrter Reihenfolge anordnen kann. Das hat eine Zahl nicht. Ausserdem ist die Definition schon durch die Klasse `list()` vorgegeben:Gegen frage: Was ist [1, 2, 3, 4, 5] reversed(?)
Code: Alles auswählen
In [86]: a = [1, 2, 3, 4, 5]
In [87]: a.reverse()
In [88]: a
Out[88]: [5, 4, 3, 2, 1]
Darauf basiert auch so ein bisschen die Erwartungshaltung an eine `reversed()`-Funktion (die es ja bereits gibt). Auch was das Ergebnis angeht. Die meisten Leute würden bei zweimaligem umdrehen von "etwas" zum Beispiel erwarten, das wieder der gleiche Anfangswert herauskommt.
Etwas das umgedreht werden kann. Oder auch nicht. Sag Du's mir. Welche Eigenschaften, und darum geht's bei duck typing, müsste ein Wikinger haben um umgedreht werden zu können.was ist wiking?Oder reversed von ``Viking()``?
Und das sieht bei Zahlen anders aus?Nö nicht wirklich. complexe lasse ich weg weil sinnfrei.bei verschiedenen Typen völlig unterschiedliche Bedeutungen hat und einen Anwendungsfall hätte ich auch gerne mal gesehen
Der Wert einer Zahl ist etwas ziemlich abstraktes und etwas "ganzes" im Gegensatz zu einer Zeichenkette die aus kleineren Einheiten zusammengesetzt ist.Unterstützt werden Ganze zahlen, Decimal, float, str, unicode und alles was sich wie eine Zahl, Zeichenkette, oder eine Decimalzahl verhält. Bei allen dem wird das gleiche gemacht und zwar der Wert umgedreht. Mehr nicht...