[Python-de] Anfängerfrage
Gregor Lingl
glingl at aon.at
Son Feb 13 19:40:42 CET 2005
Hallo Uwe, Hallo Marek!
Marek Kubica schrieb:
> On Sun, 13 Feb 2005 17:40:03 +0100
> Uwe Eggert <ueggert at cityweb.de> wrote:
>
>
>>Die Funktion selbst erhält also einen Wert.
>>Mein in Versuch in Python gelang aber nicht:
>>
>>def meter_kilometer (meter):
>> meter_kilometer=meter/1000
>>
>>print "Meter_kilometer", meter_kilometer(1000)
>
>
>
>>Gibt es sowas in Python gar nicht ?
>
> Doch, klar, sonst hätte Python keinen Funktionen, nur Methoden.
*Dieses* Argument stimmt nicht, denn der Unterschied zwischen
Methoden und Funktionen liegt *nicht* darin ob sie einen Rückgabewert
haben.
> Aber Python hat eigentlich keine Methoden sondern nur Funktionen!
??? So kann man das wohl nicht sagen ...
> So
> gibt deine Funktion keinen Rückgabewert mit return zurück, also ist der
> Rückgabewert None.
>
> def meter_kilometer(meter):
> return meter / 1000
Hier tritt ein weiteres Problem auf: Ganzzahldivision.
Wenn nämlich Meter als ganze Zahl eingegeben wird, dann
liefert meter/1000 den ganzzahligen Quotienten zurück:
Beispiel:
>>> meter = 3500
>>> meter/1000
3
>>> meter = 800
>>> meter/1000
0
>>> meter/1000.0 # Uzak S. 47
0.80000000000000004
>>> float(meter)/1000 # Uzak S. 48
0.80000000000000004
>>>
Von der 4 ganz hinten lass dich nicht irritieren (wenn doch -
frag nach!), denn
>>> print meter/1000.0
0.8
Wenn du z. B. für das Argument 3500 Meter das Ergebnis 3.5
erzielen wolltest, müßtest du also durch 1000.0
dividieren.
>
>
>>"Das Einsteigerseminar Python 2.x" von Uzak geht auf diese Problematik
>>nicht ein.
Das "Einsteigerseminar Python 2.x" von Uzak geht auf diese Problematik
natürlich schon ein, und zwar zum ersten Mal auf Seite 81.
Beste Grüße
Gregor
>
> grep -i 'return'
>
> grüße,
> Marek
>
> _______________________________________________
> python-de maillist - python-de at python.net
> http://python.net/mailman/listinfo/python-de
>
>
--
Gregor Lingl
Reisnerstrasse 3/19
A-1030 Wien
Telefon: +43 1 713 33 98
Mobil: +43 664 140 35 27
Autor von "Python für Kids"
Website: python4kids.net