Seite 1 von 1

dynamische Formatierung

Verfasst: Sonntag 27. Februar 2022, 19:05
von Pitwheazle
Hallo Leute!
Ich bin blutiger Anfänger und will nichtdestotrotz Dezimalzahlen dynamisch formatieren:

Code: Alles auswählen

import math
print('Der Wert von Pi ist ungefähr {0:.3f}.'.format(math.pi))
rundet Pi auf drei Stellen. Für ein Matheprogramm brauche ich das aber dynamisch, also

Code: Alles auswählen

print('Der Wert von Pi ist ungefähr {0:.(Zahl)f}.'.format(math.pi))
soll auf "Zahl" Stellen runden. Geht das irgendwie?

Re: dynamische Formatierung

Verfasst: Sonntag 27. Februar 2022, 19:18
von __blackjack__
@Pitwheazle: Ja, man kann {}-Platzhalter innerhalb von {}-Platzhaltern verwenden. Der Wert für den äusseren Platzhalter muss zuerst angegeben werden, dann der für den inneren.

Re: dynamische Formatierung

Verfasst: Sonntag 27. Februar 2022, 23:30
von Pitwheazle
Prima! Kannst du das mit innen und außen bitte an einem Beispiel aufzeigen?

Re: dynamische Formatierung

Verfasst: Montag 28. Februar 2022, 00:02
von __blackjack__
@Pitwheazle: Na Du kannst innerhalb von {} halt noch mal für einen weiteren Wert {} verwenden. Da wo Du "(Zahl)" stehen hast, muss stattdessen noch ein Platzhalter "{1}" stehen, für den dann die Zahl eingesetzt wird, die `format()` nach `math.pi` als zweites Argument übergeben wird.

Re: dynamische Formatierung

Verfasst: Montag 28. Februar 2022, 08:30
von Pitwheazle
Danke! Das hilft mir, das Prinzip besser zu verstehen.