|
| 1 | +#Acceso a carácteres específicos de una cadena, se hace mediante la posición del carácter en la cadena, empezando por 0. |
| 2 | +my_string = "Mi cadena de caracteres" |
| 3 | +print(my_string[5]) |
| 4 | + |
| 5 | +''' |
| 6 | +Acceso a un rango de carácteres de una cadena, |
| 7 | +se hace mediante la posición del primer carácter del rango y la posición del último carácter del rango, |
| 8 | +separados por dos puntos. ''' |
| 9 | +my_substring = my_string[3:10] #Desde la posición 3 hasta la 10, sin incluir la 10. |
| 10 | +print(my_substring) |
| 11 | + |
| 12 | +#Longitud de una cadena |
| 13 | +my_len = len(my_string) |
| 14 | +print(my_len) |
| 15 | + |
| 16 | +#Concatenación de cadenas |
| 17 | +my_string_1 = "Soy" |
| 18 | +my_string_2 = " una cadena" |
| 19 | +my_string_3 = " de caracteres" |
| 20 | +my_string_4 = " concatenada" |
| 21 | + |
| 22 | +my_concatenated_string = my_string_1 + my_string_2 + my_string_3 + my_string_4 |
| 23 | +print(my_concatenated_string) |
| 24 | + |
| 25 | +#Repetición de cadenas |
| 26 | +my_repeated_string = my_string_1 * 3 |
| 27 | +print(my_repeated_string) |
| 28 | + |
| 29 | +#Recorrer una cadena con un bucle for |
| 30 | +my_for_string = "Recorriendo una cadena con un bucle for" |
| 31 | +for character in my_for_string: |
| 32 | + print(character) |
| 33 | + |
| 34 | +#Convertir una cadena a mayusculas |
| 35 | +my_upper_string = my_string.upper() |
| 36 | +print(my_upper_string) |
| 37 | + |
| 38 | +#Convertir una cadena a minusculas |
| 39 | +my_lower_string = my_string.lower() |
| 40 | +print(my_lower_string) |
| 41 | + |
| 42 | +#Convertir una cadena a mayusculas la primera letra de cada palabra |
| 43 | +my_title_string = my_string.title() |
| 44 | +print(my_title_string) |
| 45 | + |
| 46 | +#Reemplazar una cadena por otra |
| 47 | +my_replaced_string = my_string.replace("cadena", "frase") |
| 48 | +print(my_replaced_string) |
| 49 | + |
| 50 | +#Dividir una cadena en una lista de subcadenas con un delimitador |
| 51 | +my_split_string = my_string.split(" ") |
| 52 | +print(my_split_string) |
| 53 | + |
| 54 | +#Union de una lista de subcadenas en una cadena con un delimitador |
| 55 | +my_words = ["Mi", "cadena", "de", "caracteres"] |
| 56 | +my_joined_string = " ".join(my_words) |
| 57 | +print(my_joined_string) |
| 58 | + |
| 59 | +#Interpolación de variables en una cadena |
| 60 | +my_name = "Javier" |
| 61 | +my_age = 27 |
| 62 | +my_interpolated_string = f"Me llamo {my_name} y tengo {my_age} años." |
| 63 | +print(my_interpolated_string) |
| 64 | + |
| 65 | +#Interpolación de variables en una cadena con formato |
| 66 | +my_name = "Javier" |
| 67 | +my_age = 27 |
| 68 | +my_interpolated_string = "Me llamo {} y tengo {} años.".format(my_name, my_age) |
| 69 | + |
| 70 | +#Interpolación de variables en una cadena con formato y posición |
| 71 | +my_name = "Javier" |
| 72 | +my_age = 27 |
| 73 | +my_interpolated_string = "Me llamo {1} y tengo {0} años.".format(my_age, my_name) |
| 74 | + |
| 75 | +#Interpolación de variables en una cadena con formato y nombre [Preferible para mi] |
| 76 | +my_name = "Javier" |
| 77 | +my_age = 27 |
| 78 | +my_interpolated_string = "Me llamo {name} y tengo {age} años.".format(age=my_age, name=my_name) |
| 79 | + |
| 80 | +#Verificación de cadenas |
| 81 | +my_number = "192304" |
| 82 | +print(my_number.isnumeric()) |
| 83 | +print(my_number.isdigit()) |
| 84 | + |
| 85 | +my_string = "Iphone" |
| 86 | +print(my_string.isalpha()) |
| 87 | +print(my_string.isalnum()) |
| 88 | +print(my_string.startswith("Z")) |
| 89 | +print(my_string.endswith("e")) |
| 90 | +print(my_string.islower()) |
| 91 | +print(my_string.isupper()) |
| 92 | +print(my_string.isspace()) #Comprueba si la cadena contiene solo espacios en blanco |
| 93 | + |
| 94 | +#Busqueda de subcadenas |
| 95 | +my_string = "Mi cadena de caracteres de python" |
| 96 | +print(my_string.find("de")) #Devuelve la posición de la primera coincidencia en la cadena |
| 97 | +print(my_string.rfind("de")) #Devuelve la posición de la última coincidencia en la cadena |
| 98 | +print(my_string.count("e")) #Devuelve el número de veces que se repite el valor buscado |
| 99 | + |
| 100 | +#modificacion de cadena eliminando espacios |
| 101 | +my_string = " Mi cadena de caracteres de python " |
| 102 | +print(my_string.strip()) #Elimina los espacios al principio y al final de la cadena |
| 103 | +print(my_string.rstrip()) #Elimina los espacios al final de la cadena |
| 104 | +print(my_string.lstrip()) #Elimina los espacios al principio de la cadena |
| 105 | + |
| 106 | +my_new_string = "esta cadena empieza en minúscula" |
| 107 | +print(my_new_string.capitalize()) #Pone la primera letra en mayúscula |
| 108 | + |
| 109 | +print("--------------------") |
| 110 | +print("Ejercicio Opcional") |
| 111 | +print("--------------------") |
| 112 | + |
| 113 | +#Ejercicio opcional |
| 114 | +''' |
| 115 | +Palindromo: Es una palabra o frase que se lee igual de izquierda a derecha que de derecha a izquierda. |
| 116 | +Anagrama: Es una palabra o frase que tiene las mismas letras que otra, pero en diferente orden. |
| 117 | +Isograma: Es una palabra o frase que no tiene letras repetidas. |
| 118 | +
|
| 119 | +
|
| 120 | +Procedimiento: |
| 121 | +- Crear las funciones para cada uno de los tres tipos |
| 122 | +- Pedirle al usuario una cadena de caracteres |
| 123 | +- Llamar a las tres funciones con la cadena de caracteres |
| 124 | +- Mostrar por pantalla el resultado de cada función |
| 125 | +''' |
| 126 | + |
| 127 | +def es_palindromo(palabra): |
| 128 | + palabra = palabra.lower().replace(" ", "") |
| 129 | + return palabra == palabra[::-1] #Compara la palabra con la palabra invertida |
| 130 | + |
| 131 | +def es_anagrama(palabra1, palabra2): |
| 132 | + palabra1 = palabra1.lower().replace(" ", "") |
| 133 | + palabra2 = palabra2.lower().replace(" ", "") |
| 134 | + return sorted(palabra1) == sorted(palabra2) #Compara las dos palabras ordenadas |
| 135 | + |
| 136 | +def es_isograma(palabra): |
| 137 | + palabra = palabra.lower().replace(" ", "") |
| 138 | + return len(set(palabra)) == len(palabra) #Compara la longitud de la palabra con la longitud de la palabra sin caracteres repetidos |
| 139 | + |
| 140 | +#Pedimos al usuario la entrada de las palabras |
| 141 | +palabra1 = input("Introduce la primera palabra: ") |
| 142 | +palabra2 = input("Introduce la segunda palabra: ") |
| 143 | + |
| 144 | +#Llamamos a las funciones y mostramos el resultado |
| 145 | +print("La palabra %s ¿Es palindromo?: %s" % (palabra1, es_palindromo(palabra1))) |
| 146 | +print("La palabra %s ¿Es palindromo?: %s" % (palabra2, es_palindromo(palabra2))) |
| 147 | +print("La palabra %s ¿Es anagrama de %s?: %s" % (palabra1, palabra2, es_anagrama(palabra1, palabra2))) |
| 148 | +print("La palabra %s ¿Es isograma?: %s" % (palabra1, es_isograma(palabra1))) |
| 149 | +print("La palabra %s ¿Es isograma?: %s" % (palabra2, es_isograma(palabra2))) |
| 150 | + |
| 151 | + |
| 152 | + |
0 commit comments