Formatierungsabstand mit einer Variablen

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
StyleFile
User
Beiträge: 8
Registriert: Donnerstag 24. Februar 2022, 13:19

Hallo zusammen,

ich würde gerne den Formatierungsabstand mit der Variablen b angeben, jedoch bekomme ich dann immer folgende Fehlermeldung:

print(f"{c[0]:<b}{d[0]}")
ValueError: Unknown format code 'b' for object of type 'str'

Mein Code:
for i in range(0,4):
x=len(c)
if x>b:
b=x

print(f"{c[0]:<b}{d[0]}")
print(f"{c[1]:<15}{d[1]}")
print(f"{c[2]:<15}{d[2]}")
print(f"{c[3]:<15}{d[3]}")

Gibt es eine Möglichkeit die Eingabe über eine Variable vorzunehmen?
einfachTobi
User
Beiträge: 512
Registriert: Mittwoch 13. November 2019, 08:38

Du kannst auch innerhalb von {}-Variablen solche verwenden:

Code: Alles auswählen

foo = "String:"
bar = 42
for i in range(10, 20):
    print(f"{foo:{i}}{bar}")
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@StyleFile: Das sieht reichlich umständlich und „unpythonisch“ aus. Mal ganz abgesehen von der grauenvollen Namenswahl.

Code: Alles auswählen

    width = max(map(len, c))
    for cc, dd in zip(c, d):
        print(f"{cc:<{width}}{dd}")
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
StyleFile
User
Beiträge: 8
Registriert: Donnerstag 24. Februar 2022, 13:19

Vielen Dank für die Hilfe!! Das hat so super funktioniert und ist viel schöner gemacht.
Antworten