24. Format de la cadena de text¶
Una cadena de text literal amb format és una cadena de text que comença amb la lletra `` `` `` ``} '. Els camps de substitució contenen variables Python i, opcionalment, el format que s’ha de donar al contingut de la variable.
Si voleu imprimir una clau, cal doblar -la: {{ o ' }}.
Exemple
>>> nombre = 'Guido'
>>> apellido = 'van Rossum'
>>> print(f'El creador de Python es {nombre} {apellido}')
El creador de Python es Guido van Rossum
>>> num = 7
>>> print(f'James Bond es el agente {num:03d}')
James Bond es el agente 007
Exercicis¶
Repetiu l'exercici següent canviant el valor de la variable `` nom 'amb el vostre propi nom.
Exercici
nombre = 'Anselmo' print(f'{nombre:>20}') # Justificado a la derecha print(f'{nombre:<20}') # Justificado a la izquierda print(f'{nombre:^20}') # Centrado print(f'{nombre:_^20}') # Centrado con relleno '_'
Sortida
Anselmo Anselmo Anselmo ______Anselmo_______
Repetiu l'exercici següent canviant el valor del `` num = 78` ``. A la darrera línia canvia el nombre per al vostre any de naixement.
Exercici
num = 44 print(f'{num:10d}') # Formato decimal entero. Longitud 10 print(f'{num:+10d}') # Formato decimal entero con signo. Longitud 10 print(f'{num:10X}') # Formato hexadecimal en mayúsculas. Longitud 10 print(f'{num:010b}') # Formato binario con ceros a la izquierda. Longitud 10
Sortida
44 +44 2C 0000101100
Repetiu l'exercici següent amb la variable `` e = 2.718281828``. Recordeu que a Python els decimals sempre es separen amb un punt, no amb una coma.
Exercici
pi = 3.14159 # Número de punto flotante que ocupa 10 espacios en total y tiene 3 decimales print(f'{pi:10.3f}') print(f'{pi:010.5f}') # Cinco decimales y ceros a la izquierda print(f'{pi:10.0f}') # Igual que el primero, con cero decimales print(f'{pi:10.4e}') # Igual que el primero, en notación científica
Sortida
3.142 0003.14159 3 3.142e+00
Repetiu el següent exercici canviant el valor dels números utilitzats per aparèixer per a altres caràcters Unicode.
Exercici
print(f'{78:c}') # Formato de carácter Unicode print(f'{128520:c}') # Formato de carácter Unicode print(f'{250:c}') # Formato de carácter Unicode print(f'{2023:c}') # Formato de carácter Unicode
Sortida
N 😀 ú ߧ
Escriviu un programa que sol·liciti un personatge al teclat i retorna els següents 20 caràcters Unicode.
Utilitzeu la funció `` ord () `` per convertir el caràcter en el seu número d'unicode.
Pista
char = input('Introduce un carácter: ') num = ord(char[0]) for code in range(num + 1, num + 21): print(f'Código: ... carácter: ... ')
Sortida
Introduce un carácter: ñ Código: 242 carácter: ò Código: 243 carácter: ó Código: 244 carácter: ô Código: 245 carácter: õ Código: 246 carácter: ö Código: 247 carácter: ÷ Código: 248 carácter: ø Código: 249 carácter: ù Código: 250 carácter: ú Código: 251 carácter: û Código: 252 carácter: ü Código: 253 carácter: ý Código: 254 carácter: þ Código: 255 carácter: ÿ Código: 256 carácter: Ā Código: 257 carácter: ā Código: 258 carácter: Ă Código: 259 carácter: ă Código: 260 carácter: Ą Código: 261 carácter: ą
Proveu d’introduir diferents caràcters del teclat. Proveu de copiar des d’Internet i enganxar símbols, emojis, lletres gregues i cirilic, etc.
Escriviu una funció que imprimeixi el valor d’un color RGB en hexadecimal. Els tres paràmetres de la funció seran tres números decimals R, G i B (vermell, verd i blau) que han d’estar entre 0 i 255.
Recordeu que els valors hexadecimals s’han de capitalitzar i tenir dues xifres. La manera de convertir una variable en hexadecimal que sempre té dues figures és afegir a la variable el format següent: `` f '{variable: 02x}' `.
Exemple
def color_hex(red, green, blue): print(f' ... ') color_hex(128, 196, 4) color_hex(250, 5, 64)
Sortida
#80C404 #FA0540