PyQuiz 15 - String Slicing en Python | Quiz interactivo

PyQuiz 15 – String Slicing en Python

El reto

texto = 'ElPythonista'
resultado = texto[2:8]
print(resultado)

¿Cuál es el resultado?

  • a) 'Python'
  • b) 'Pytho'
  • c) 'lPytho'

Piensa tu respuesta antes de seguir leyendo…


Concepto: String Slicing

El slicing (rebanado) en Python permite extraer una porción de una cadena usando la sintaxis cadena[inicio:fin]. El índice inicio es inclusivo (se incluye ese carácter) y el índice fin es exclusivo (no se incluye ese carácter). Los índices empiezan en 0.

Para la cadena 'ElPythonista', los índices son: E=0, l=1, P=2, y=3, t=4, h=5, o=6, n=7, i=8, s=9, t=10, a=11. Por tanto, texto[2:8] extrae desde el índice 2 hasta el 7 (inclusive), dando 'lPytho'.

Contando posición a posición: índice 2 es 'l' (la ‘l’ minúscula de El), índice 3 es 'P', 4 es 'y', 5 es 't', 6 es 'h', 7 es 'o'. El índice 8 no se incluye. El resultado es 'lPytho', 6 caracteres.

Paso a paso

  1. texto = 'ElPythonista' — se crea la cadena con 12 caracteres. Los índices van del 0 al 11.
  2. resultado = texto[2:8] — Python extrae los caracteres en las posiciones 2, 3, 4, 5, 6, 7. El índice 8 queda excluido. Eso es: l (2), P (3), y (4), t (5), h (6), o (7).
  3. print(resultado) — se imprime lPytho. Seis caracteres, comenzando en el índice 2 y terminando en el 7 (inclusive).

Solución

Respuesta correcta: C) 'lPytho'

texto[2:8] va del índice 2 ('l') al 7 ('o'). Resultado: 'lPytho'.

Sabías que…

El slicing admite un tercer parámetro opcional llamado paso (step): cadena[inicio:fin:paso]. Con paso negativo puedes invertir una cadena al vuelo.

texto = 'ElPythonista'

# Invertir toda la cadena
print(texto[::-1])         # 'atsinohtyPlE'

# Solo caracteres en posiciones pares
print(texto[::2])          # 'EPtoiа' (0,2,4,...)

# Desde el final con índices negativos
print(texto[-5:])          # 'nista'
print(texto[-5:-2])        # 'nis'

Prueba tú mismo

¿Qué devuelve 'ElPythonista'[4:10]? Y sin mirar el intérprete, ¿puedes decir qué caracteres quedan en las posiciones 4 a 9?


Más PyQuizzes en elpythonista.com/pyquizzes

Tutorial relacionado: Cadenas de caracteres en Python

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicar un comentario