una texto print leer imprimir funcion dato concatenar centrar cadenas cadena almacenar python python-3.x formatting string-formatting python-3.2

texto - leer una cadena en python



cadena de centro de Python usando especificador de formato (2)

Tengo una cadena llamada Mensaje.

Message = "Hello, welcome!/nThis is some text that should be centered!"

Sí, es sólo una declaración de prueba ...

Y estoy tratando de centrarlo para una ventana de Terminal predeterminada, es decir, de 80 de ancho, con esta declaración:

print(''{:^80}''.format(Message))

Que imprime:

Hello, welcome! This is some text that should be centered!

Estoy esperando algo como:

Hello, welcome! This is some text that should be centered!

¿Alguna sugerencia?


Aquí hay una alternativa que centrará automáticamente su texto en función del ancho más largo.

def centerify(text, width=-1): lines = text.split(''/n'') width = max(map(len, lines)) if width == -1 else width return ''/n''.join(line.center(width) for line in lines) print(centerify("Hello, welcome!/nThis is some text that should be centered!")) print(centerify("Hello, welcome!/nThis is some text that should be centered!", 80))

<script src="//repl.it/embed/IUUa/4.js"></script>


Es necesario centrar cada línea por separado:

''/n''.join(''{:^80}''.format(s) for s in Message.split(''/n''))