Lección 4 · 4 de 20
Cadenas y f-strings · Python
Trabaje con texto en Python: unir y repetir cadenas, contar letras con len(), leer posiciones y dar formato con f-strings.

Una cadena (str) es texto entre comillas, simples o dobles: "Ada" y 'Lovelace' valen lo mismo. Con + se unen (first + " " + last da Ada Lovelace) y con * se repiten: "=" * 20 dibuja una raya de veinte signos.
len() cuenta los caracteres, espacios incluidos: Ada Lovelace tiene 12. Cada carácter tiene una posición que empieza en 0: first[0] es A, y las posiciones negativas cuentan desde el final, así que last[-1] es la última letra, e.
Un número no se puede unir a un texto con +: Python daría un error. Hay que convertirlo antes con str(score), como en la primera frase de la nota.
Es más cómodo usar una f-string: una cadena con f delante en la que los valores van entre llaves, f"{first} scored {score} points.". Dentro de las llaves cabe cualquier cálculo, como {score + 5}.
Tras dos puntos se indica el formato: {average:.2f} deja dos decimales (87.46); {first:>8} ocupa 8 huecos alineado a la derecha y {last:<10}, 10 huecos a la izquierda. Los corchetes de la salida dejan ver esos espacios.
Código · main.py
# Strings are text between quotes, single or double.first = "Ada"last = 'Lovelace'# + joins strings and * repeats them.full = first + " " + lastprint(full)print("=" * 20)# len() counts the characters.print("Characters in the name:", len(full))# Each character has a position, starting at 0.print("Initials:", first[0] + last[0])print("Last letter:", last[-1])# str() turns a number into text so it can be joined.score = 92print(first + " scored " + str(score) + " points.")# An f-string puts values straight into the text with { }.print(f"{first} scored {score} points.")print(f"Next year she wants {score + 5}.")# After a colon you can format: decimals, width, alignment.average = 87.456print(f"Class average: {average:.2f}")print(f"[{first:>8}] [{last:<10}]")Salida · python3 main.py
Ada Lovelace ==================== Characters in the name: 12 Initials: AL Last letter: e Ada scored 92 points. Ada scored 92 points. Next year she wants 97. Class average: 87.46 [ Ada] [Lovelace ]
Para recordar
+une cadenas y*las repite.len()cuenta caracteres;texto[0]es el primero ytexto[-1], el último.str()convierte un número en texto.- En una f-string los valores van entre
{ }. :.2fda dos decimales;:>8y:<8alinean en 8 huecos.
Ejercicio
Escriba su nombre y apellido en las variables, y muestre una línea con sus iniciales y otra con la longitud del nombre completo, centrada en 30 huecos con :^30.