Seite 1 von 1
Typkonversion
Verfasst: Montag 19. März 2012, 20:12
von tany3
Naben zusammen,
Ich hab ein Problem mit der Typkonversion :K kA woran es liegt .
Code: Alles auswählen
print zaehleralle
print zaehlerpush
print zaehlermov
verh= "%f" %(zaehlerpush/zaehleralle)
print verh
zaehleralle,zaehlerpush und zaehlermov sind alles integer und in verh will ich den Quotienten teilen aber weil da gerade in Integer 0 rauskommen würde wollte ich in float umwandeln, aber da kommt immer noch 0.000 raus ... wieso ?
Danke euch

Re: Typkonversion
Verfasst: Montag 19. März 2012, 20:23
von Liffi
Du musst eine der Variablen _vorher_ in ein float umwandeln.
Hinterher bringt es nicht viel, da wird eine 0 höchstens wie beschrieben zur 0.0.
EDIT:: Bei python 2.x gibt die Division zweier Ganzzahlen die Zahl 'vor dem Komma'. Z.B. gibt 5/3 1, 2/3 gibt 0.
Re: Typkonversion
Verfasst: Montag 19. März 2012, 20:25
von EyDu
Hallo.
Bei allen Pythonversionen kleiner als 3 ergibt die Division eines Integers durch einen Integer immer wieder einen Integer. Das dürft dir aus der Schule noch als Division mit Rest bekannt sein. Du musst also vorher den Dividend oder den Divisor in einen float umwandelt. Alternativ geht auch ein
Dann erhältst du bei Divisionen, die nicht ohne Rest durchführbar sind, modulweit einen float.
An deiner Vergabe von Namen solltest du auch noch einmal arbeiten. Für was soll "verh" stehen? Das kann gar nicht so lang sein, dass man es nicht ausschreiben könnte
Sebastian
Re: Typkonversion
Verfasst: Montag 19. März 2012, 20:27
von tany3
EyDu hat geschrieben:Hallo.
Bei allen Pythonversionen kleiner als 3 ergibt die Division eines Integers durch einen Integer immer wieder einen Integer. Das dürft dir aus der Schule noch als Division mit Rest bekannt sein. Du musst also vorher den Dividend oder den Divisor in einen float umwandelt. Alternativ geht auch ein
Dann erhältst du bei Divisionen, die nicht ohne Rest durchführbar sind, modulweit einen float.
An deiner Vergabe von Namen solltest du auch noch einmal arbeiten. Für was soll "verh" stehen? Das kann gar nicht so lang sein, dass man es nicht ausschreiben könnte
Sebastian
Vielen Dank ! Import hat mein Problem gelöst !
