Seite 1 von 1

Fehlermeldung - Hilfe, Anfänger!

Verfasst: Donnerstag 23. April 2020, 18:58
von Ludi108
Einen schönen guten Tag wünsch ich.

Das folgende Programm soll drei Kreisumfänge aufsummieren. Dafür ist jeweils der Kreisdurchmesser angegeben. Hab dafür folgenden simplen Code:

import math

def umfängeKreise(*d):
return sum(math.pi * d)

print(umfängeKreise(1, 2, 3))

mit der Fehlermeldung: TypeError: can't multiply sequence by non-int of type 'float'

Ich verstehe leider nicht warum das Programm die einzelnen Kreisumfänge nicht addieren will.

Re: Fehlermeldung - Hilfe, Anfänger!

Verfasst: Donnerstag 23. April 2020, 22:11
von /me
Ludi108 hat geschrieben: Donnerstag 23. April 2020, 18:58 Ich verstehe leider nicht warum das Programm die einzelnen Kreisumfänge nicht addieren will.
Weil du keine einzelnen Kreisumfänge hast. `d` ist eine Sequence aus mehreren Kreisumfängen. Du musst jeden einzelnen davon addieren.

Bei deinem Beispiel wäre das math.pi *1 + math.pi * 2 + math.pi * 3. Das lässt sich mit einer Schleife lösen. Alternativ kann man natürlich auch einfach math.pi * (1 + 2 + 3) nehmen.

Re: Fehlermeldung - Hilfe, Anfänger!

Verfasst: Freitag 24. April 2020, 04:15
von snafu
Oder halt math.pi * sum(d).

Re: Fehlermeldung - Hilfe, Anfänger!

Verfasst: Freitag 24. April 2020, 11:57
von /me
snafu hat geschrieben: Freitag 24. April 2020, 04:15 Oder halt math.pi * sum(d).
Genau das meinte ich, aber ich dachte, ein wenig Eigenleistung schadet nicht.