dynamische Formatierung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Pitwheazle
User
Beiträge: 1053
Registriert: Sonntag 19. September 2021, 09:40

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?
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Pitwheazle
User
Beiträge: 1053
Registriert: Sonntag 19. September 2021, 09:40

Prima! Kannst du das mit innen und außen bitte an einem Beispiel aufzeigen?
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Pitwheazle
User
Beiträge: 1053
Registriert: Sonntag 19. September 2021, 09:40

Danke! Das hilft mir, das Prinzip besser zu verstehen.
Antworten