Seite 1 von 1

Zahl runden

Verfasst: Freitag 1. August 2008, 20:03
von raecher-der-enterbten
Hallo,
ich bin Python-Anfänger und habe ein Problem: Ich habe eine Rechnung, in der aber fast immer eine sehr lange Zahl rauskommt, und ich immer die Fehlermeldung

TypeError: unsupported operand type(s) for /: 'int' and 'tuple'

bekomme. Ich denke, dass ich es einfach nur so machen muss, dass z. B. nur 3 Nachkommastellen gezeigt werden, oder?
Wie funktioniert dies?

Vielen Dank im Vorraus

raecher-der-enterbten

Verfasst: Freitag 1. August 2008, 20:05
von Crazed
Hallo, der Fehlermeldung zufolge probierst du einen Tupel durch eine Ganzzahl zu teilen.

Also z.b sowas

5 / Zahlen

Du musst aber bei dem Tupel einen Index angeben um durch die Zahl die sich am Index in dem Tupel befindet teilen zu können.

5 / Zahlen[4]

MfG,
CracKPod

Verfasst: Freitag 1. August 2008, 20:38
von BlackJack
@raecher-der-enterbten: Die Meldung hat überhaupt nichts mit der Länge eines Rechenergebnisses zu tun, sondern weist darauf hin, dass Du eine Zahl durch ein Tupel teilen möchtest. Das geht nicht.

Zeig doch mal den Quelltext, der zu dem Fehler führt. Du hast da nicht zufällig eine "Kommazahl" mit einem *Komma* geschrieben? Wenn ich mal raten müsste:

Code: Alles auswählen

In [2]: 1 / (1 + 2,5)
---------------------------------------------------------------------------
<type 'exceptions.TypeError'>             Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

<type 'exceptions.TypeError'>: unsupported operand type(s) for /: 'int' and 'tuple'
"Kommazahlen" werden im Englischen und damit auch in den meisten Programmiersprachen mit einem Dezimal*punkt* geschrieben. ``(1 + 2,5)`` ist ein Tupel das aus den Elementen 1+2 und 5 besteht:

Code: Alles auswählen

In [3]: (1 + 2,5)
Out[3]: (3, 5)

Verfasst: Freitag 1. August 2008, 20:40
von raecher-der-enterbten
Hallo,
genau das war es...hab es mit Komma anstatt mit Punkt geschrieben, wie gesagt: Anfängerfehler...

Vielen Dank für die Tipps!

mfg

raecher-der-enterbten