Héctor Daniel Vega Quiñones
ProfesorPreguntaUfff... puedes decir que ya tienes bases sólidas para crear programas sencillos y que funcionen. Ahora darás un paso más manipulando strings, tarea común de un desarrollador :muscle:
Recuerda que algunos lenguajes no están optimizados para ciertas tareas y esto no es excusa para rendirnos ;) Por ejemplo, en el nivel anterior hubo quien trabajó con C++ y encontramos recursos que complementan al lenguaje.
Si aún no has pasado por los niveles anteriores, siempre puedes ponerte al corriente:
- Nunca pares de programar: ejercicios de programación - Primera parte
- Nunca pares de programar: ejercicios de programación - Segunda Parte
¡Muy bien, muy bien! Arranquemos 🏋️♀️🏋️♂️
Reto #1 Longitud del string
Pide a tu usuario que ingrese el nombre de su curso favorito, obtén la longitud de ese string y muéstralo en pantalla.
Reto #2 'Suma' de strings
Crea un programa en el que le pidas en 3 variables distintas: nombre, apellido y comida favorita. Como salida mostrarás el mensaje
Hola, mi nombres es {nombre} {apellido} y mi comida favorita es {comida}Reto #3 Ajusta las iniciales
Ahora, pedirás a tu usuario que ingrese su nombre, apellido y país de origen en minúsculas. Después mostrarás los datos de salida con mayúscula inicial al tratarse de nombres propios.
Reto #4 String fragmentado
Pongámonos más exigentes 💥 Solicita a tu usuario que indique una oración de 10 o más caracteres, la línea de un poema o canción funcioona excelente. Calcula la longitud del string, pide un número de rango inicial y final que esté entre la longitud del string para al final mostrar el fragmento que incluya los caracteres en ese intervalo.
Reto #5 Mayúsculas y minúsculas
Solicita a tu usuario que indique 2 palabras, donde al mostrarlas en pantalla una estará totalmente en mayúsculas y otra en minúsculas ¿fácil, no?
Reto #6 Nombres cortos y largos
Ya sabemos trabajar con nombres ¿pero qué pasa si cumple ciertas cualidades? Tu usuario ingresará su nombre, si tiene una longitud mayor a 5 caracteres mostrarás un saludo con su nombre en pantalla. Si tiene menos de 5 caracteres, pedirás su apellido, mostrarás el saludo con nombre y apellido. En ambos casos deberás mostrarlos con mayúscula inicial.
Reto #7 ¡Hablemos Pig Latin! (Puerco Latino) 🐷
Solo una cosa, pide a tu usuario que ingrese una palabra y tradúcela a Pig Latin.
Espera ¡¿qué?!
PuercoLatino es como el idioma de la "efe", donde cambiamos las palabras bajo ciertas condiciones. En este caso será así:
- La primer consonante de una palabra se pasa al final y se agrega la sílaba "ay".
- Si una palabra inicia con vocal, se agrega "way" al final.
Ejemplos:
- Platzi :point_right: Latzipay
- Abeja :point_right: Abejaway
Rocio Calderon Hernandez
Estudiantedef longitud(): curso = input('Escribe el nombre de tu curso favorito: ') print(f'La longitud de palabras de tu curso es: ', len(curso))
def suma(): nombre = input('¿Cual es tu nombre? ') apellido = input('¿Cual es tu apellido? ') comida = input('¿Cual es tu comida favorita? ') print( f'Hola, mi nombre es {nombre} {apellido} y mi comida favorita es {comida} ')
def iniciales(): nombre = input('¿Cual es tu nombre?(en minusculas) ') apellido = input('¿Cual es tu apellido?(en minusculas) ') pais = input('¿Cual es tu pais de origen?(en minusculas) ') nombre = nombre.title() apellido = apellido.title() pais = pais.title() print(f'Hola mi nombre es {nombre} {apellido} y mi pais de origen es {pais}')
def fragmentado(): frase = input('Escribe una frase de un poema o canción de mas de 10 caracteres: ') longitud = len(frase) rango_inicial = int(input(f'Escribe el rango inicial, teniendo en cuenta que no sea mayor que {longitud} ')) rango_final = int(input('Dinos el rango final que quieres para la busqueda: '))
fragmento = frase[rango_inicial:rango_final] print(f'Las palabras que estan dentro del rango elegido son: {fragmento} ')
def palabras(): palabra1 = input('Escribe una palabra usando mayusculas y minusculas: ') palabra2 = input('Escribe otra palabra usando mayusculas y minusculas: ')
palabra1 = palabra1.upper() palabra2 = palabra2.lower() print(f'{palabra1} y {palabra2}')
def nombres(): nombre = input('Hola! ¿ Cual es tu nombre? ') nombre = nombre.capitalize() if len(nombre) > 5: print(f'Hola {nombre}, que tal estas? ') else: apellido = input('¿ Cual es tu apellido? ') apellido = apellido.capitalize() print(f'Hola {nombre} {apellido}, que tal estas? ')
def pig_latin(): palabra = input('Introduce una palabra para que la traduzcamos a Pig Latin!: ') vocales = {'a', 'e','i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'}
for vocal in vocales: if palabra[0] == vocal[0:]: palabra = palabra[0:] + 'way' print(palabra.capitalize()) break if palabra[0] != vocal[0:]: palabra = palabra[1:] + palabra[0] + 'ay' print(palabra.capitalize())
if name == 'main': print('********Reto 1 ************') longitud() print('********Reto 2 ************') suma() print('********Reto 3 ************') iniciales() print('********Reto 4 ************') fragmentado() print('********Reto 5 ************') palabras() print('********Reto 6 ************') nombres() print('********Reto 7 ************') nombres() print('********Reto 8 ************') pig_latin()
Jesus Velez Flores
EstudianteAquí dejo mis retos con JavaScript.
´´´´// Reto #1
function longitudString(){ let curso = prompt('¿Cual es el nombre de tu curso favorito?');
console.log(`La longitud del nombre de tu curso favorito es: ${curso.length}`)
}
longitudString();
// Reto #2
function sumaStrings(){ let nombre = prompt('¿Cual es tu nombre?'); let apellido = prompt('¿Cual es tu apellido?'); let comidaFavorita = prompt('¿Cual es tu comida favorita?');
console.log(`Hola, mi nombre es ${nombre} ${apellido} y mi comida favorita es ${comidaFavorita}`);
}
sumaStrings();
// Reto #3
function ajustaIniciales(){ let nombre = prompt('Dame tu nombre, en minusculas'); let apellido = prompt('Dame tu apellido, en minusculas'); let pais = prompt('Dame tu pais de origen, en minisculas');
nombre = nombre[0].toUpperCase() + nombre.slice(1); apellido = apellido[0].toUpperCase() + apellido.slice(1); pais = pais[0].toUpperCase() + pais.slice(1); console.log(`Tu nombre es: ${nombre} \n Tu apellido es: ${apellido}\n Tu pais de origen es: ${pais}`);
}
ajustaIniciales();
// Reto #4
function stringFragmentado(){ let oracion = prompt('Dame una oracion de 10 o mas caracteres'); let oracionLongitud = oracion.length;
alert(`A continuacion me daras un rango inicial y un rango final entre los valores 1 y ${oracionLongitud}`); let rangoInicial = parseInt(prompt(`Dame el valor inicial (1 y ${oracionLongitud})`)); let rangoFinal = parseInt(prompt(`Dame el valor final (1 y ${oracionLongitud})`)); let oracionFinal = oracion.slice(rangoInicial - 1, rangoFinal); console.log(`La oracion queda de la siguiente forma: ${oracionFinal}`);
}
stringFragmentado();
// Reto #5
function mayusculasMinusculas(){ let palabraUno = prompt('Dame una palabra cualquiera'); let palabraDos = prompt('Dame otra palabra cualquiera');
console.log(`La primer palabra fue: ${palabraUno.toUpperCase()} \n La segunda palabra fue: ${palabraDos.toLowerCase()}`);
}
mayusculasMinusculas();
// Reto #6
function nombreCortosYLargos(){ let nombre = prompt('¿Cual es tu nombre?'); let nombreLongitud = nombre.length;
if(nombreLongitud > 5){ console.log(`¡Hola! ${nombre = nombre[0].toUpperCase() + nombre.slice(1)}`); }else{ let apellido = prompt('¿Cual es tu apellido?'); console.log(`¡Hola! ${nombre = nombre[0].toUpperCase() + nombre.slice(1)} ${apellido = apellido[0].toUpperCase() + apellido.slice(1)}`); }
}
nombreCortosYLargos();
// Reto #7
function puercoLatino(){ let palabra = prompt('Dame una palabra'); let primerLetra = palabra[0]; let vocales = ['A', 'E', 'I', 'O', 'U']; let flag = false; let palabraFinal = '';
for(let i = 0; i < vocales.length; i++){ if(primerLetra.toUpperCase() === vocales[i]){ palabraFinal = palabra + 'way'; flag = true; } } if(flag != true){ palabraFinal = palabra.slice(1) + primerLetra.toLowerCase() + 'ay'; } palabraFinal = palabraFinal[0].toUpperCase() + palabraFinal.slice(1); console.log(`Tu palabra traducida a Pig Latin es: ${palabraFinal}`);
}
puercoLatino();´´´´
Oscar Eduardo Palomino Cárdenas
EstudianteCumplido.
Daniel Morales
EstudianteTerminado:
Repositorio
Están en Platzi3.js
Miguel Torres
EstudianteLISTO! 😁🤓
Nuevamente mis soluciones en Python 🐍
Acá las encuentras junto con los retos pasados: https://github.com/migueltorresio/PythonExercises/tree/master/retos-platzi
Franco Losardo
EstudianteHecho en python ==> https://gist.github.com/Franco-Losardo/2ef37f8589c16f5b1d1d85627609002c
Daniel Cardona Velasquez
EstudianteAquí esta mi solución en Python... La implemente con funciones y simplemente hay que descomentar la que quieran usar en la zona del main.
Retos de programacion - tercera parte
Guillermo Sanchez
Estudiante¡Spoiler alert!
PigLatin Python compacto
:D
Enrique Orozco Gaytán
EstudianteHola! Aquí comparto mi solución del reto:
![]()
Enrique Orozco Gaytán
EstudianteEl Reto #7 fue el más desafiante para mí:
![]()

