Retos de programación en cualquier lenguaje - Sexto nivel: ciclo 'while'

Pregunta de la clase:
Héctor Daniel Vega Quiñones

Héctor Daniel Vega Quiñones

ProfesorPregunta

Sabes que el ciclo while nos permite repetir un código durante una cantidad indefinida de veces hasta que se cumple una condición o indicamos que no debe continuar. Puede ser una vez, miles o nunca y ahí radica la importancia de comprenderlo a detalle.

¿Aún no has realizado los ejercicios anteriores? Puedes estar tranquilo, en estos enlaces los encontrarás:

¡Comencemos! 🏋️‍♀️🏋️‍♂️

Reto #1 - Suma hasta cincuenta

Crea una variable que se llame total, después pide a tu usuario que ingrese un número y lo sume al valor de total. Haz que esto se repita hasta que el valor de total sea mayor a 50 y muestra el resultado en pantalla.

Reto #2 - Más allá del cuarenta y dos

Crea un código que pida al usuario un número y se repita hasta que coloque un número mayor a 42. Cuando se cumpla esta condición muestra el resultado en pantalla indicando esto al usuario y finaliza el ciclo.

Reto #3 - Sumas consecutivas

Pide al usuario que ingrese dos números y los sume. Después pregunta si quiere añadir otro número: si la respuesta es afirmativa añádelo al total; en caso contrario finaliza el ciclo y muestra el resultado total en pantalla.

Reto #4 - Lista de invitados

Estás organizando un banquete al que quieres invitar a tus amigos. Crea un programa que pida el nombre de uno de tus amigos, al hacerlo aumenta en uno una variable contadora, después pregunta si quieres invitar a alguien más: si la respuesta es afirmativa entonces pregunta por una persona más; en caso contrario cierra el ciclo y muestra en pantalla cuantos invitados son.

Reto #5 - Adivina el número secreto

Crea un programa donde tendrás la variable numero_secreto, la cual toma un valor aleatorio entre 1 y 100. Después pide a tu usuario que indique un número para intentar adivinarlo: en caso de acertar indícale cual era el número secreto y cuantos intentos le tomó; en caso contrario indícale si el número ingresado es mayor o menor al número secreto.

Reto #6 - “Un elefante se balanceaba…”

Escribe un programa que inicie mostrando en pantalla la letra de “Un elefante se balanceaba” iniciando con el número 1, después pregunta al usuario cuantos elefantes más se balancearán y debe responder un número más al mostrado. En caso de ingresar un número diferente pedirle que intente de nuevo y repetir el ciclo hasta tener 10 elefantes. Tomar en cuenta cuando el texto muestra un solo elefante y varios elefantes. Ejemplo de inicio:

1 elefante se balanceaba Sobre la tela de una araña Como veía que resistía Fueron a llamar otro elefante
37 respuestas
    Ramón Antonio Melo Olivero

    Ramón Antonio Melo Olivero

    Estudiante

    Ejercicios hecho en Python https://github.com/ramo1005/Probando-GitHUB/blob/master/Retos%236_Python.txt

    #Reto(1) def reto1(): total=0 user=int(input("Ingrese un numero:")) while(total<50): total+=user print(total) print("Fin....") if __name__ == "__main__": reto1() #Reto(2) def reto2(): numbers =[] result=0 user=int(input("Ingrese un numero:")) numbers.append(user) while(user<=42): print("Para sumar las cantidades anterior ingrese un numero mayor a 42...") user=int(input("Ingrese un numero:")) numbers.append(user) for number in numbers: result+=number print("Resultado final:{}".format(result)) if __name__ == "__main__": reto2() #Reto(3) def reto3(): number1=int(input("Ingrese un Numero:")) number2=int(input("Ingrese un Segundo Numero:")) opcion=int(input("1.Agregar otro numero\n2.Continuar\n")) if(opcion==1): number3=int(input("Ingrese un Tercer Numero:")) print("Resultado:{}".format(number1+number2+number3)) elif(opcion==2): print("Resultado:{}".format(number1+number2)) else: print("Opcion Incorrecta....") if __name__ == "__main__": reto3() #Reto(4) def reto4(): print("Lista de personas") person=[] number_person=0 person.append(input("Nombre del invitado:")) number_person+=1 opcion=int(input("1.Ingresar otro Invitado\n2.Continuar\n")) while(opcion==1): person.append(input("Nombre del invitado:")) number_person+=1 opcion=int(input("1.Ingresar otro Invitado\n2.Continuar\n")) if(opcion==2): print("Total de invitados:{}".format(number_person)) else: print("Opcion Incorrecta..") if __name__ == "__main__": reto4() # Reto(5) import random def reto5(): print("Numero aleatorio entre 1 y 100\nAdivinalo!") secret_number=random.randint(1,100) number=int(input("Ingresa un numero:")) if(number==secret_number): print("Encontraste el Numero! {}".format(secret_number)) while(number!=secret_number): number=int(input("Ingresa un numero:")) if(number==secret_number): print("Encontraste el Numero! {}".format(secret_number)) if __name__ == "__main__": reto5() # Reto(6) import os,sys def reto6(): os.system('cls') a=1 print("{} elefante se balanceaba\n".format(a)+"Sobre la tela de una araña\nComo veía que resistía\nFueron a llamar otro elefante") opcion=int(input("Cuantos elefantes se balancearan?:")) #Confirmando que la opcion sea igual a a+1 y poniendo un limete de 10 para a while(opcion==a+1 and a<=9): a+=1 os.system('cls') print("{} elefante se balanceaba\n".format(a)+"Sobre la tela de una araña\nComo veía que resistía\nFueron a llamar otro elefante") if (a==10): input("(10 Elefantes se balancearon)\nPulse Enter para Salir") sys.exit() opcion=int(input("Cuantos elefantes se balancearan?:")) #En caso de que el usuario ingrese otro numero diferente al de la secuencia #El programa repite if (opcion!=a+1): input("Enter para intentarlo de nuevo") reto6() if __name__ == "__main__": reto6()
    Luis Ernesto Garcia Andrade

    Luis Ernesto Garcia Andrade

    Estudiante

    Comparto Retos Realizados con Kotlin.

    /* Reto #1 - Suma hasta cincuenta Crea una variable que se llame total, después pide a tu usuario que ingrese un número y lo sume al valor de total. Haz que esto se repita hasta que el valor de total sea mayor a 50 y muestra el resultado en pantalla. */ var total = 0 while (total < 50){ print("Ingrese un número a sumar: ") total += readLine()!!.toInt() } println("El total es $total")
    /* Reto #2 - Más allá del cuarenta y dos Crea un código que pida al usuario un número y se repita hasta que coloque un número mayor a 42. Cuando se cumpla esta condición muestra el resultado en pantalla indicando esto al usuario y finaliza el ciclo. */ var number = 0 var counter = 0 while (number <= 42){ print("Ingrese un número: ") number = readLine()!!.toInt() counter++ } println("El número de veces que ingreso numeros fue $counter hasta que ingreso un numero mayor a 42")
    /* Reto #3 - Sumas consecutivas Pide al usuario que ingrese dos números y los sume. Después pregunta si quiere añadir otro número: si la respuesta es afirmativa añádelo al total; en caso contrario finaliza el ciclo y muestra el resultado total en pantalla. */ var total = 0 var toNext = true print("Ingresa un número: ") total += readLine()!!.toInt() print("INgresa el segundo número: ") total += readLine()!!.toInt() while (toNext){ print("¿Desea ingresar otro numero? (s/n): ") val question = readLine()!!.toString().toUpperCase() if (question.equals("S")) { print("Ingresa un número: ") total += readLine()!!.toInt() } else{ toNext = !toNext } } print("El total es: $total")
    /* Reto #4 - Lista de invitados Estás organizando un banquete al que quieres invitar a tus amigos. Crea un programa que pida el nombre de uno de tus amigos, al hacerlo aumenta en uno una variable contadora, después pregunta si quieres invitar a alguien más: si la respuesta es afirmativa entonces pregunta por una persona más; en caso contrario cierra el ciclo y muestra en pantalla cuantos invitados son. */ println("****************************************") println("* Programa lista de invitados *") println("****************************************") var guests : List<String> = listOf() var question = true; while (question){ print("Ingresa el nombre del invitado: ") guests += listOf(readLine()!!.toString()) print("¿Desea ingresar otro invitado? (s/n): ") if (!readLine()!!.toString().equals("s")){ question = false } println("") } println("La cantidad de invitados es ${guests.size}") println() print("¿Desea imprimir la lista de invitados? (s/n): ") if (readLine()!!.toString().equals("s")){ var counter = 1 for (i in guests){ println("$counter - $i") counter++ } }
    /* Reto #5 - Adivina el número secreto Crea un programa donde tendrás la variable numero_secreto, la cual toma un valor aleatorio entre 1 y 100. Después pide a tu usuario que indique un número para intentar adivinarlo: en caso de acertar indícale cual era el número secreto y cuantos intentos le tomó; en caso contrario indícale si el número ingresado es mayor o menor al número secreto. */ val secretNumber: Int = (1..100).random() var counter = 1 print("Ingresa un número para adivinar el número secreto que esta entre 1 y el 100: ") var number = readLine()!!.toInt() while (number != secretNumber){ if (number > secretNumber) println("El número que buscas es menor...") else println("El número que buscas en mayor") print("Ingresa otro número para intentarlo nuevamente: ") number = readLine()!!.toInt() println() counter++ } if (counter == 1){ println("Felicidades encontraste el número secreto lo intentastes $counter vez") } println("Felicidades encontraste el número secreto lo intentastes $counter veces")
    /* Reto #6 - “Un elefante se balanceaba…” Escribe un programa que inicie mostrando en pantalla la letra de “Un elefante se balanceaba” iniciando con el número 1, después pregunta al usuario cuantos elefantes más se balancearán y debe responder un número más al mostrado. En caso de ingresar un número diferente pedirle que intente de nuevo y repetir el ciclo hasta tener 10 elefantes. Tomar en cuenta cuando el texto muestra un solo elefante y varios elefantes. */ val songs = """ 1 elefante se balanceaba Sobre la tela de una araña Como veía que resistía Fueron a llamar otro elefante """.trimIndent() var elephant = 1 println(songs) while (elephant < 10){ print("¿Cuántos elefantes más se balancearan? ") if ((elephant+1) == readLine()!!.toInt()){ elephant++ val songsElephant = """ $elephant elefantes se balanceaban Sobre la tela de una araña Como veía que resistía Fueron a llamar otro elefante """.trimIndent() print(songsElephant) }else{ println("Vuelve a intentarlo") } }
    Andrés Argote

    Andrés Argote

    Estudiante

    Listo en Js

    //1 let total = 0; while(total <= 50){ let numeroUser = Number(prompt("Ingresa un numero para ser sumado")); total += numeroUser; console.log(total); } console.log(`El ciclo se dejo de repetir porque total es mayor que 50 tu total es: ${total}`); //2 let numeroUser = Number(prompt("Ingresa un numero")); while(numeroUser < 42){ numeroUser = Number(prompt("Ingresa un numero")); } console.log(`Pudiste salir del ciclo felicidades!! tu numero es mayor a 42, tu numero es: ${numeroUser}`); //3 let numeroUno = Number(prompt("Digita un numero")); let numeroDos = Number(prompt("Digita otro numero")); let preguntaUser = prompt("Quieres agregar otro numero?"); function sumaConsecutiva(uno, dos){ let otroNumero; let suma = uno + dos; while(preguntaUser === "si"){ otroNumero = Number(prompt("Digita otro numero")); suma += otroNumero; preguntaUser = prompt("Quieres agregar otro numero?"); } console.log(suma); } sumaConsecutiva(numeroUno, numeroDos); //4 let nombreAmigo = prompt("Cuál es el nombre de tu amigo invitado?"); let invitar = prompt("Quieres invitar a otro amigo?"); let contador = 1; while(invitar === "si"){ nombreAmigo = prompt("Cuál es el nombre de tu amigo invitado?"); invitar = prompt("Quieres invitar a otro amigo?"); contador++; } console.log(`El numero de invitados es: ${contador}`); //5 let numeroAleatorio = Math.floor(Math.random()*100) + 1; let numeroUsuario = Number(prompt("Inserta un numero")); while(numeroAleatorio !== numeroUsuario){ numeroUsuario = Number(prompt("Ups aún no has adivinado, intentalo de nuevo")) } console.log(`Muy bien adivinaste!! el numero era ${numeroAleatorio}`); //6 let elefanteMensaje = `1 elefante se balanceaba Sobre la tela de una araña Como veía que resistía Fueron a llamar otro elefante`; console.log(elefanteMensaje); let elefanteCont = 1; while(elefanteCont < 10){ let usuario = Number(prompt("Cuantos elefeante se balancearon?")); if(usuario === (elefanteCont + 1)){ console.log(`${usuario} elefante se balanceaba Sobre la tela de una araña Como veía que resistía Fueron a llamar otro elefante`); elefanteCont++; }else{ console.log("ERROR: Tienes que ir en secuencia, el numero que introducas tiene que ser 1 mayor al anterior") } }
    Wilson Ivan Gutierrez Peña

    Wilson Ivan Gutierrez Peña

    Estudiante

    En python

    #1 - Suma hasta cincuenta Total=0 Aux=int(input('Ingresa tu numero a sumar: ')) while Total <= 50: Total=Total+Aux print(f'Tu numero sumado es: {Total}') #2 - Más allá del cuarenta y dos Aux1=int(input('Ingresa tu numero: ')) while Aux1<42: print(f'Ingresa un numero mayor a 42 sino tu numero: {Aux1} se repetira') Aux1=int(input('Ingresa tu numero: ')) print('Felicidades paraste el ciclo') #3 - Sumas consecutivas a=int(input('Elija un numero a sumar: ')) b=int(input('Elija tu segundo número a sumar: ')) c=input('Quiere sumar otro nomuero? [Y/N]: ') d=a+b while c == 'Y': e=int(input('Ingrese su otro numero a sumar: ')) d=d+e c=input('Quiere sumar otro nomuero? [Y/N]: ') print(f'La suma de sus numeros es {d}') #4 - Lista de invitados NOMBRE=input('¿Cual es tu nombre?: ') PREGUNTA=input('¿Quieres invitar a alguien mas? [Y/N]: ') count=1 while PREGUNTA == 'Y': count=count+1 NOMBRE=input('¿Cual es tu nombre?: ') PREGUNTA=input('¿Quieres invitar a alguien mas? [Y/N]: ') print(f'Tu tienes {count} invitados') #5 - Adivina el número secreto import random numero_secreto=random.randint(1,100) print(numero_secreto) respuesta=int(input('Ingrese el numero que piensa que es el adivinado: ')) while numero_secreto!=respuesta: respuesta=int(input('Intente nuevamente ingrese el numero que piensa que es el adivinado: ')) print('Felicidades adivinó el numero') #6 - “Un elefante se balanceaba num=1 mensaje='elefante se balanceaba \n Sobre la tela de una araña \n Como veía que resistía \n Fue a llamar otro elefante' print(f'{num} {mensaje}') mensaje1='elefantes se balanceaban \n Sobre la tela de una araña \n Como veían que resistían \n Fueron a llamar otro elefante' while num<10: preg=int(input('¿Cuantos elefantes más se balancearán? ')) while preg!=num+1: preg=int(input(f'Ingresa un numero que sea mayor a {num} mas 1 ¿Cuantos elefantes más se balancearán?: ')) num=num+1 print(f'{num} {mensaje1}')```
    Edgar Oswaldo Vargas Jara

    Edgar Oswaldo Vargas Jara

    Estudiante

    Les comparto mi reto completado con javascript:

    Repositorio Github: Aquí

    Página Github: Aquí

    Franco Losardo

    Franco Losardo

    Estudiante

    Hecho en python ==> shorturl.at/hosuU

    Enrique Orozco Gaytán

    Enrique Orozco Gaytán

    Estudiante

    Les comparto mi solución en Javascript: level6.png

    Héctor Tello

    Héctor Tello

    Estudiante

    Acá está mi solución en ruby. Estoy abierto a críticas constructivas.

    #Ejercicio 1 def ejercicio1() total = 0; while(total < 50) puts "Ingrese un número: " numero = gets.chomp.to_i total += numero end puts "El total es: #{total}" end #Ejercicio 2 def ejercicio2() numero = 0 while(numero <= 42) puts "Ingrese un número: " numero = gets.chomp.to_i end puts "El número ingresado fue #{numero}" end #Ejercicio 3 def ejercicio3() puts "Ingrese un número: " num1 = gets.chomp.to_i puts "Ingrese otro número: " num2 = gets.chomp.to_i total = num1 + num2 loop do puts "¿Desea ingresar otro número? #/n" respuesta = gets.chomp total += respuesta.to_i break if respuesta == 'n' end puts "El total es: #{total}" end #Ejercicio 4 def ejercicio4() invitados = 0 loop do puts "Ingrese su nombre: " nombre = gets.chomp puts "¿Deseas invitar a alguien más, #{nombre}?" respuesta = gets.chomp invitados += 1 break if respuesta == 'n' end puts "La cantidad de invitados es: #{invitados}" end #Ejercicio 5 def ejercicio5() intentos = 0 numero_secreto = rand(1..100) loop do puts "Ingrese el número secreto: " numero = gets.chomp.to_i intentos += 1 puts "*** Número incorrecto" if(numero < numero_secreto) puts "Prueba con un número más grande" else puts "Prueba con un número más pequeño" end break if numero == numero_secreto end puts "Le atinaste!! Te tardaste #{intentos} veces" end #Ejercicio 6 def ejercicio6() repeticion = 1 loop do puts "#{repeticion} elefante se columpiaba\nSobre la tela de una araña\nComo veía que resistía\nFueron a llamar a otro elefante" puts "¿Cuántos elefantes más se balancerán?" veces = gets.chomp.to_i while(veces != (repeticion+1)) puts "Número ingresado incorrecto, intente nuevamente" veces = gets.chomp.to_i end repeticion += 1 break if repeticion == 10 end end #Función main def main() puts "Seleccione una opción: " opcion = gets.chomp.to_i case opcion when 1 ejercicio1() when 2 ejercicio2() when 3 ejercicio3() when 4 ejercicio4() when 5 ejercicio5() when 6 ejercicio6() else puts "Opción no válida" end end main()