|
| 1 | +""" Cadenas de carácteres """ |
| 2 | +# Las cadenas de caracteres conocidas como strings, son inmutables |
| 3 | + |
| 4 | +# Operaciones |
| 5 | + |
| 6 | +text = "Duban" |
| 7 | +print(text[0]) # Accediendo al primer valor |
| 8 | +print(text[-1]) # Accediendo al último valor |
| 9 | + |
| 10 | +#Definiendo mas textos de varias formas |
| 11 | +text = 'Hola, mi nombre es "Duban"' |
| 12 | +print(text) |
| 13 | +text = "Hola, mi nombre es 'Duban'" |
| 14 | +print(text) |
| 15 | +text = "Hola, mi nombre es \"Duban\"" # Utilizando formateo de carácteres |
| 16 | +print(text) |
| 17 | +large_text = """Esta es un texto de varias líneas. |
| 18 | +Primero se declara la variable, luego se utilizan las |
| 19 | +'triple comillas dobles'""" |
| 20 | +print(large_text) |
| 21 | +large_text = ("Este es otro ejemplo de un texto de varias líneas," |
| 22 | +"para ello se utiliza separando las comillas por medio de la coma (,)") # Texto unido por literales de cadena |
| 23 | +print(large_text) |
| 24 | + |
| 25 | +#Subcadenas o indices(slices), cortes o rebanadas |
| 26 | + |
| 27 | +text = "Duban Quiroga" |
| 28 | +# Los slices mantienen la siguiente estructura |
| 29 | +print(text[:5] + text[5:]) |
| 30 | +first_name = text[0:5] |
| 31 | +lastname = text[6:] |
| 32 | +print(first_name, lastname) |
| 33 | +#Saltos de carácteres |
| 34 | +hello = "Hello World" |
| 35 | +print(hello[::2]) # HloWrd |
| 36 | +#Invertir una cadena |
| 37 | +print(hello[::-1]) # dlroW olleH |
| 38 | + |
| 39 | +# Longitud de una cadena |
| 40 | + |
| 41 | +print(len(text)) # 13 😏 Tu número fav |
| 42 | + |
| 43 | +# Concatenación de cadenas |
| 44 | +first_name = "Duban" |
| 45 | +lastname = "Quiroga" |
| 46 | + |
| 47 | +complete_name = first_name + " " + lastname |
| 48 | +print(complete_name) # Duban Quiroga |
| 49 | +print(complete_name * 3) # Podemos multiplicar las cadenas, a esto se le llama Repetición |
| 50 | + |
| 51 | +# Recorrido de una cadena |
| 52 | + |
| 53 | +for letter in complete_name: |
| 54 | + print(letter) # Imprime cada letra de la cadena |
| 55 | + |
| 56 | +for letter in complete_name: |
| 57 | + print(letter, end="") |
| 58 | +print() |
| 59 | + |
| 60 | +# Conversión a mayus y minus |
| 61 | + |
| 62 | +print(complete_name.upper()) |
| 63 | +print(complete_name.lower()) |
| 64 | + |
| 65 | +#Reemplazo |
| 66 | +print(complete_name.replace(complete_name, "Brais Moure")) |
| 67 | + |
| 68 | +# División |
| 69 | + |
| 70 | +first_name, lastname = complete_name.split(" ") # Separa cuando encuentra el espacio |
| 71 | +print(first_name) |
| 72 | +print(lastname) |
| 73 | + |
| 74 | +# Unión |
| 75 | +# Siguiendo la siguiente lógica de concatenación de listas |
| 76 | +name = ["Duban"] |
| 77 | +l_name = ["Quiroga"] |
| 78 | +full_name = name + l_name |
| 79 | +print(full_name) |
| 80 | +print(", ".join([first_name] + [lastname])) # Duban, Quiroga |
| 81 | + |
| 82 | +# Formateo de cadenas |
| 83 | + |
| 84 | +print(f"{first_name} {lastname}") # Utilizando f-String |
| 85 | +print("%s %s"%(first_name, lastname)) |
| 86 | + |
| 87 | +# Verificación |
| 88 | + |
| 89 | +does_d_in_duban = "D" in first_name |
| 90 | +print(does_d_in_duban) # True |
| 91 | + |
| 92 | + |
| 93 | +""" Dificultad Extra """ |
| 94 | + |
| 95 | +""" |
| 96 | +Crea un programa que analice dos palabras diferentes y realice comprobaciones |
| 97 | + * para descubrir si son: |
| 98 | + * - Palíndromos |
| 99 | + * - Anagramas |
| 100 | + * - Isogramas |
| 101 | +""" |
| 102 | +def main(word1, word2): |
| 103 | + |
| 104 | + def is_palindrome(word1, word2): |
| 105 | + word2 = word2[::-1] |
| 106 | + return word1 == word2 # Retorna True o False |
| 107 | + |
| 108 | + def is_anagrama(word1:str, word2:str) -> bool: |
| 109 | + word1 = sorted(word1.replace(" ", "").lower()) |
| 110 | + word2 = sorted(word2.replace(" ", "").lower()) |
| 111 | + return word1 == word2 |
| 112 | + |
| 113 | + |
| 114 | + def is_isograma(word:str): |
| 115 | + word = word.lower().replace(" ", "") |
| 116 | + |
| 117 | + return len(word) == len(set(word)) |
| 118 | + |
| 119 | + |
| 120 | + if is_palindrome(word1, word2): |
| 121 | + print(f"{word1} y {word2} Son palindromos") |
| 122 | + else: |
| 123 | + print(f"{word1}, {word2} No son palindromos") |
| 124 | + |
| 125 | + |
| 126 | + if is_anagrama(word1, word2): |
| 127 | + print(f"{word1}, {word2} Son anagramas") |
| 128 | + else: |
| 129 | + print(f"{word1}, {word2} No son anagramas") |
| 130 | + |
| 131 | + |
| 132 | + if is_isograma(word1): |
| 133 | + print(f"La palabra: {word1} es Isograma") |
| 134 | + else: |
| 135 | + print(f"La palabra: {word1} no es isograma") |
| 136 | + |
| 137 | + if is_isograma(word2): |
| 138 | + print(f"La palabra: {word2} es Isograma") |
| 139 | + else: |
| 140 | + print(f"La palabra: {word2} no es Isograma") |
| 141 | + |
| 142 | + return f"{is_palindrome(word1, word2)}, {is_anagrama(word1, word2)}, {is_isograma(word1)}, {is_isograma(word2)}" |
| 143 | + |
| 144 | + |
| 145 | +print(main("Toledo", "el todo")) |
| 146 | + |
0 commit comments