# 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"))