# Cread una función a la que le pasamos dos cadenas y nos devuelve la cadena más larga # si son iguales nos devuelve la primera # masLarga("hola","adios")-> "adios" def masLarga(cadena1, cadena2): if len(cadena1) >= len(cadena2): return cadena1 else: return cadena2 print(masLarga("hola", "adios")) # Cread una función que nos devuelva True si la cadena empieza y acaba por la misma letra, False en caso contrario # mismoInicioFin("hola")->False mismoInicioFin("ajada")->True def mismoInicioFin(cadena): return cadena[0] == cadena[-1] # if cadena[0]==cadena[-1] return True else: return False def mismoInicioFinOtro(cadena): if cadena[0] == cadena[-1]: return "Empiezan y acaban por la misma letra" else: return "Tiene inicio y fin distinto" print(mismoInicioFin("hola")) print(mismoInicioFin("ajada")) print(mismoInicioFinOtro("ajada")) # Cread una función a la que le pasemos una cadena y nos reemplace todas las 'l' por un '1' # y todas las 'e' por '3' independientemente de si son mayúsculas o minúsculas # numerizar("leche")->"13ch3" def numerizar(cadena): cadena = cadena.lower() cadena = cadena.replace("l", "1") cadena = cadena.replace("e", "3") return cadena def numerizarCompacto(cadena): cadena = cadena.lower().replace("l", "1").replace("e", "3") return cadena print(numerizarCompacto("leche")) # Cread una función a la que le pasemos una cadena y nos devuelva la cadena invertida # alreves("hola")->"aloh" def alreves(cadena): resultado = "" for letra in cadena: resultado = letra + resultado return resultado def alrevesNinja(cadena): return cadena[::-1] cadena = "en un lugar de la mancha" print(cadena[2:5]) print(cadena[:10]) print(cadena[:]) print(cadena[2:5:2]) # el primer número es el inicio. El segundo el final. El tercero el paso print(cadena[:10:2]) # Si no pongo el primero se entiende que desde el principio print(cadena[::3]) # Si no pongo tampoco el segundo se entiende que hasta el final print(cadena[::-1]) print(alreves("hola")) print(alrevesNinja("hola")) # Cread una función que nos diga si en una cadena hay letras repetidas consecutivas # repetidas("hola que tal")-> False repetidas("sevilla")->True def repetidas(cadena): anterior = "" for letra in cadena: # si la letra es igual a la anterior devuelvo True[ if letra == anterior: return True # Guardo en anterior la letra actual, que será la anterior del siguient paso del bucle anterior = letra # He recorrido toda la cadena y no he encontrado una letra repetida, devuelvo False return False def repetidasDos(cadena): # Ir desde el 1 hasta el final de la cadena # Porque antes del 0 no hay letra for i in range(1, len(cadena)): if cadena[i] == cadena[i - 1]: return True return False print(repetidasDos("sevilla")) print(repetidasDos("hola que tal"))