for x in range(1,50):
x = float(x/10)
print x
Warum liefert mir dieser Code nur
1.0
2.0
3.0
aber keine 1.1, 1.2, 1.3 etc?
Gruß kame
einfache Frage zu float, int, Komma
weil z.B. 16/10 -> 1 ergibt und float(1) = 1.0 ist
du willst sicherlich x/10. oder float(x)/10
du willst sicherlich x/10. oder float(x)/10
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08
Weil Python nur mit ganzen Zahlen rechnet, außer du gibst es implizit an:
Oder du importierst
oder so etwas ^^
~ Chris
Code: Alles auswählen
x = float(x) / 10
Code: Alles auswählen
from __future__ import division
~ Chris
Grüßle.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Alternativ geht auch ``x / 10.0``, wenn man schon Literale verwendet, kann man sie auch nuetzen.jbs hat geschrieben:du willst sicherlich x/10. oder float(x)/10
Die richtige Division zu importieren ist natuerlich die beste Loesung.
Edit: Einen Punkt uebersieht man schnell ... sry jbs
Zuletzt geändert von cofi am Montag 21. September 2009, 16:31, insgesamt 1-mal geändert.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Vielen Dank!