Volver al índice Ejercicios - Bucle while

Estos ejercicios corresponden a lo explicado en la lección sobre el bucle while. En el apéndice Libro de estilo puedes consultar cómo deben llamarse los ficheros, dónde guardarlos, etc.


while_01

Escribe un programa que te pida palabras y las guarde en una lista. Para terminar de introducir palabras, simplemente pulsa Intro. El programa termina escribiendo la lista de palabras.

Escribe una palabra: viaje

Escribe otra palabra: aventura

Escribe otra palabra: tebeo

Escribe otra palabra:

Las palabras que has escrito son ['viaje', 'aventura', 'tebeo']


while_02

Escribe un programa que te pida números y los guarde en una lista. Para terminar de introducir números, simplemente pulsa Intro. El programa termina escribiendo la lista de números.

Escribe un número: 14

Escribe otro número: 123

Escribe otro número: -25

Escribe otro número: 123

Escribe otro número:

Los números que has escrito son [14, 123, -25, 123]


while_03

Escribe un programa que te pida notas y las guarde en una lista. Para terminar de introducir notas, escribe una nota que no esté entre 0 y 10. El programa termina escribiendo la lista de notas.

Escribe una nota: 7.5

Escribe una nota: 0

Escribe una nota: 10

Escribe una nota: -1

Las notas que has escrito son [7.5, 0.0, 10.0]


while_04

Escribe un programa que te pida dos números, de manera que el segundo sea mayor que el primero. El programa termina escribiendo los dos números.

Escribe un número: 6

Escribe un número mayor que 6: 6

6 no es mayor que 6 Inténtalo de nuevo: 1

1 no es mayor que 6 Inténtalo de nuevo: 8

Los números que has escrito son 6 y 8.


while_05

Escribe un programa que te pida números cada vez más grandes y los guarde en una lista. Para terminar de escribir números, escribe un número que no sea mayor que el anterior. El programa termina escribiendo la lista de números.

Escribe un número: 6

Escribe un número mayor que 6: 10

Escribe un número mayor que 10: 12

Escribe un número mayor que 12: 25

Escribe un número mayor que 25: 9

Los números que has escrito son [6, 10, 12, 25]


while_06

Escribe un programa que pida primero dos números (mínimo y máximo) y que después te pida números situados entre ellos. Para terminar de escribir números, escribe un número que no esté comprendido entre los dos valores iniciales. El programa termina escribiendo la lista de números.

Escribe un número: 6

Escribe un número mayor que 6: 4

4 no es mayor que 6. Inténtalo de nuevo: 50

Escribe un número entre 6 y 50: 45

Escribe otro número entre 6 y 50: 13

Escribe un número entre 6 y 50: 4

Los números situados entre 6 y 50 que has escrito son [45, 13]


while_07

Escribe un programa que te pida primero un número (límite) y después te pida números hasta que la suma de los números introducidos supere el número inicial. El programa termina escribiendo la lista de números.

Escribe el límite: 50

Escribe un valor: 10

Escribe otro valor: 25

Escribe otro valor: 7

Escribe otro valor: 14

El límite a superar es 50. La lista creada es [10, 25, 7, 14]


while_08

Escribe un programa que te pida primero un número y después te pida números hasta que la suma de los números introducidos coincida con el número inicial. El programa termina escribiendo la lista de números.

Escribe el límite: 50

Escribe un valor: 10

Escribe otro valor: 45

45 es demasiado grande. Escribe otro valor: 1

Escribe otro valor: 39

El límite a alcanzar es 50. La lista creada es [10, 1, 39]


while_09

Escribe un programa que te pida nombres de personas y sus números de teléfono. Para terminar de escribir nombres y números, pulsa Intro cuando te pida el nombre. El programa termina escribiendo todos los nombres y teléfonos. Nota: La lista en la que se guardan los nombres y teléfonos es [ [nombre1, telef1], [nombre2, telef2], [nombre3, telef3], etc]

Dime un nombre: Paco Jerte

Dime su teléfono: 963141592

Dime otro nombre: Susana Horia

Dime su teléfono: 962718281

Dime otro nombre: Ulises Tropeado

Dime su teléfono: 963162277

Dime otro nombre:

Los nombres y teléfonos son:

Paco Jerte: 963141592

Susana Horia: 962718281

Ulises Tropeado: 963162277


while_10

Escribe un programa que te pida los nombres y las notas de varios alumnos. Si escribes una nota fuera del intervalo de 0 a 10, el programa entenderá que no quieres introducir más notas de ese alumno. Si no escribes el nombre, el programa entenderá que no quieres introducir a más alumnos.

Nota: La lista en la que se guardan los nombres y notas es [ [nombre1, nota1, nota2, etc], [nombre2, nota1, nota2, etc], [nombre3, nota1, nota2, etc], etc]

Dime un nombre: Héctor Tuga

Escribe una nota: 4

Escribe otra nota: 8.5

Escribe otra nota: 12

Dime otro nombre: Inés Pejo

Escribe una nota: 7.5

Escribe otra nota: 1

Escribe otra nota: 2

Escribe otra nota: -5

Dime otro nombre:

Las notas de los alumnos son:

Héctor Tuga: 4.0 - 8.5

Inés Pejo: 7.5 - 1.0 - 2.0


while_11

Escribe un programa que calcule la descomposición en factores primos de un número.

Escribe un número: 500

Descomposición en factores primos: 2 2 5 5 5

Escribe un número: 521

Descomposición en factores primos: 521


while_12

Escribe un programa para jugar a adivinar un número (el ordenador "piensa" el número y el usuario tiene que adivinarlo). El programa empieza pidiendo entre qué números está el número a adivinar, se "inventa" un número al azar y después el usuario va probando valores y el programa va diciendo si son demasiado grandes o pequeños.

Nota: Para generar el número a adivinar utiliza la función randrange(mínimo, máximo, paso) del módulo random. Para poder utilizar la función randrange tendrás que incluir en el programa la instrucción siguiente:

from random importrandrange

Valor mínimo: 0

Valor máximo: 100

A ver si adivinas un número entero entre 0 y 100.

Escribe un número: 20

¡Demasiado pequeño! Inténtalo de nuevo: 30

¡Demasiado grande! Inténtalo de nuevo: 27

¡Acertaste! Te ha costado 3 intentos


while_13

Escribe un programa para jugar a adivinar un número (el usuario piensa un número y el programa tiene que adivinarlo). El programa empieza pidiendo entre qué números está el número a adivinar y después intenta adivinar de qué número se trata. El usuario va diciendo si el número que ha dicho el programa es menor, mayor o igual al buscado.

Valor mínimo: 0

Valor máximo: 100

Piensa un número entre 0 y 100 a ver si lo adivino.

¿Es 50?: mayor

¿Es 75?: menor

¿Es 62?: menor

¿Es 56?: mayor

¿Es 59?: igual

Gracias por jugar conmigo

Puedes perfeccionar este programa haciendo:


while_14

Escribe un programa que escriba un número decimal en binario. El procedimiento es ir dividiendo por 2 hasta que el cociente sea 0 e ir guardando los restos en orden inverso. Puedes guardar los restos en una lista o en una cadena.

Escribe un número: 11

11 en binario se escribe: 1 0 1 1

Escribe un número: 200

200 en binario se escribe: 1 1 0 0 1 0 0 0


while_15

Generaliza el programa anterior escribiendo un programa que escriba un número decimal en otro sistema de numeración (de 2 a 10).

Escribe un número: 200

En qué base lo quieres: 3

200 en base 3 se escribe: 2 1 1 0 2

Escribe un número: 300

En qué base lo quieres: 5

300 en base 5 se escribe: 2 2 0 0


while_16

Generaliza más todavía el programa anterior escribiendo un programa que escriba un número decimal en otro sistema de numeración (de 2 a 16).

Escribe un número: 200

En qué base lo quieres: 16

200 en base 16 se escribe: C 8

Escribe un número: 7219

En qué base lo quieres: 14

7219 en base 14 se escribe: 2 8 B 9


Siguiente lección: Ejercicios de repaso 1

Autor: Bartolomé Sintes Marco
Última modificación de esta página: 1 de diciembre de 2002