|
| 1 | +# ============================================ |
| 2 | +# OPERACIONES CON CADENAS DE CARACTERES |
| 3 | +# ============================================ |
| 4 | + |
| 5 | +print("====== OPERACIONES CON CADENAS EN PYTHON ======") |
| 6 | + |
| 7 | +texto = "Python es poderoso" |
| 8 | + |
| 9 | +# Acceso a caracteres específicos |
| 10 | +print("Primer carácter:", texto[0]) |
| 11 | +print("Último carácter:", texto[-1]) |
| 12 | + |
| 13 | +# Subcadenas (slicing) |
| 14 | +print("Subcadena [0:6]:", texto[0:6]) |
| 15 | +print("Subcadena desde el 7:", texto[7:]) |
| 16 | +print("Cada segundo carácter:", texto[::2]) |
| 17 | + |
| 18 | +# Longitud |
| 19 | +print("Longitud:", len(texto)) |
| 20 | + |
| 21 | +# Concatenación |
| 22 | +saludo = "Hola " + "mundo" |
| 23 | +print("Concatenación:", saludo) |
| 24 | + |
| 25 | +# Repetición |
| 26 | +repetido = "ja" * 3 |
| 27 | +print("Repetición:", repetido) |
| 28 | + |
| 29 | +# Recorrido |
| 30 | +print("Recorrido por caracteres:") |
| 31 | +for letra in "Hola": |
| 32 | + print(letra, end=" ") |
| 33 | +print() |
| 34 | + |
| 35 | +# Mayúsculas y minúsculas |
| 36 | +print("Mayúsculas:", texto.upper()) |
| 37 | +print("Minúsculas:", texto.lower()) |
| 38 | +print("Capitalizado:", texto.capitalize()) |
| 39 | +print("Título:", texto.title()) |
| 40 | +print("Swapcase:", texto.swapcase()) |
| 41 | + |
| 42 | +# Reemplazo |
| 43 | +print("Reemplazo:", texto.replace("poderoso", "genial")) |
| 44 | + |
| 45 | +# División y unión |
| 46 | +palabras = texto.split() |
| 47 | +print("Split (división en lista):", palabras) |
| 48 | +unido = "-".join(palabras) |
| 49 | +print("Join (lista a cadena):", unido) |
| 50 | + |
| 51 | +# Interpolación |
| 52 | +lenguaje = "Python" |
| 53 | +print(f"Interpolación con f-string: {lenguaje} es increíble") |
| 54 | +print("Interpolación con format: {} es genial".format(lenguaje)) |
| 55 | + |
| 56 | +# Verificación |
| 57 | +print("¿Empieza con 'Python'?", texto.startswith("Python")) |
| 58 | +print("¿Termina con 'poderoso'?", texto.endswith("poderoso")) |
| 59 | +print("¿Contiene 'es'?", "es" in texto) |
| 60 | +print("¿Es alfanumérico?", "abc123".isalnum()) |
| 61 | +print("¿Es alfabético?", "abc".isalpha()) |
| 62 | +print("¿Está en minúsculas?", "python".islower()) |
| 63 | +print("¿Está en mayúsculas?", "PYTHON".isupper()) |
| 64 | +print("¿Es espacio?", " ".isspace()) |
| 65 | +print("¿Es título?", "Hola Mundo".istitle()) |
| 66 | +print() |
| 67 | + |
| 68 | + |
| 69 | +# ============================================ |
| 70 | +# ANALIZADOR DE PALABRAS (DIFICULTAD EXTRA) |
| 71 | +# ============================================ |
| 72 | + |
| 73 | +def es_palindromo(palabra): |
| 74 | + palabra = palabra.lower().replace(" ", "") |
| 75 | + return palabra == palabra[::-1] |
| 76 | + |
| 77 | +def es_anagrama(p1, p2): |
| 78 | + return sorted(p1.lower().replace(" ", "")) == sorted(p2.lower().replace(" ", "")) |
| 79 | + |
| 80 | +def es_isograma(palabra): |
| 81 | + letras = palabra.lower().replace(" ", "") |
| 82 | + return len(set(letras)) == len(letras) |
| 83 | + |
| 84 | +print("====== ANALIZADOR DE PALABRAS ======") |
| 85 | +palabra1 = input("Introduce la primera palabra: ").strip() |
| 86 | +palabra2 = input("Introduce la segunda palabra: ").strip() |
| 87 | + |
| 88 | +# Palíndromos |
| 89 | +print(f"¿'{palabra1}' es palíndromo?", es_palindromo(palabra1)) |
| 90 | +print(f"¿'{palabra2}' es palíndromo?", es_palindromo(palabra2)) |
| 91 | + |
| 92 | +# Anagramas |
| 93 | +print(f"¿'{palabra1}' y '{palabra2}' son anagramas?", es_anagrama(palabra1, palabra2)) |
| 94 | + |
| 95 | +# Isogramas |
| 96 | +print(f"¿'{palabra1}' es isograma?", es_isograma(palabra1)) |
| 97 | +print(f"¿'{palabra2}' es isograma?", es_isograma(palabra2)) |
0 commit comments