Textformatierungen

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
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Hallo zusammen,
ich habe mich mit Formatierungen beschäftig (Rechtsbündig, Linksbündig, Zentriert) etc.
Jetzt habe ich folgendes Programm:

Code: Alles auswählen

def formatierung():

    s = 'X'        
    for i in range(1,6):
        formatiert = s.rjust(i, 'X')
        print(formatiert)

>>> 
X
XX
XXX
XXXX
XXXXX
Das gibt mir die X so aus. Mein Ziel ist es allerdings, es genau gespiegelt, also andersherum auszugeben:
Wie bekomme ich das hin?
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Wenn ich's richtig verstanden hab:

Code: Alles auswählen

def get_triangle(width, sign='X'):
    return '\n'.join(
        (i * sign).rjust(width) for i in range(1, width + 1)
    )

print get_triangle(5)
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Eine andere Möglichkeit ohne mehrmalige Stringmultiplikation und `format()` statt `rjust()`:

Code: Alles auswählen

def get_triangle(width, sign='X'):
    full_string = sign * width
    return '\n'.join('{full_string:>{width}.{sub_width}}'.format(
        full_string=full_string, width=width, sub_width=sub_width) for
        sub_width in range(1, width+1))
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Antworten