Seite 1 von 1

Formatierungsabstand mit einer Variablen

Verfasst: Donnerstag 24. Februar 2022, 13:28
von StyleFile
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?

Re: Formatierungsabstand mit einer Variablen

Verfasst: Donnerstag 24. Februar 2022, 14:42
von einfachTobi
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}")

Re: Formatierungsabstand mit einer Variablen

Verfasst: Donnerstag 24. Februar 2022, 16:02
von __blackjack__
@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}")

Re: Formatierungsabstand mit einer Variablen

Verfasst: Freitag 25. Februar 2022, 10:31
von StyleFile
Vielen Dank für die Hilfe!! Das hat so super funktioniert und ist viel schöner gemacht.