30 Ejercicios de Python Codigo Piton
30 Ejercicios de Python Codigo Piton
30 Ejercicios de Python Codigo Piton
Juan Monroy
Y te reto a hacerlos. Todos. Toditos. Por ejemplo, uno al día durante un mes.
¡Exacto! No quiero darte la solución1, quiero darte el problema. Quiero que te pelees
con ellos. Quiero que avances. Quiero que aprendas.
Los primeros son muy fáciles pero van incrementándose en dificultad poco a poco.
¡Adelante!
1
¡Eh! Por aquí… Shhh. Pequeña actualización: finalmente, muchos meses después, he resuelto los ejercicios
y los he puesto a disposición de quien los necesite, en mi academia, por un precio ridículo. Más información
al final de este documento. Pero, de momento, olvídate de esto y céntrate en resolver los ejercicios.
Código Pitón https://www.codigopiton.com/ El Gimnasio de Python
Ejercicios:
Le tengo un poco de manía al típico ejercicio de “Hola, Mundo”. Esta es una alternativa
un pelín más compleja.
Haz un programa en Python que pida por teclado al usuario su nombre, su edad y su
altura en metros.
¿Eres capaz de modificarlo para que el mensaje sea de la siguiente manera? Solo
pidiendo los tres valores indicados.
“El usuario NOMBRE, de EDAD años de edad y mide METROS metros y CENTÍMETROS
centímetros.”.
Ejemplos:
“El usuario Juan tiene 44 años de edad y mide 1.85 metros”.
“El usuario Juan tiene 44 años de edad y mide 1 metro y 85 centímetros”.
2. Numeritos, numeritos
Haz un programa de Python que pida un número entero N al usuario entre 10 y 20.
Muestra por pantalla todos los números enteros entre el 30 y el N, en orden inverso.
4. Listas y listillos
Haz un programa en Python que pida 10 números al usuario y los almacene en una
lista.
Muestra todos los números por pantalla indicando junto a cada número un mensaje
que diga “NEGATIVO” si dicho número es negativo.
¿Lo tienes? Modifícalo para que muestre “REPETIDO” al lado de cada número que se
encuentre más de una vez en la lista.
5. Porciones
Haz un programa en Python que pida números al usuario que se vayan almacenando
en una lista. El programa deja de pedir números cuando el usuario introduce un cero.
6. Un poco de geometría
Pide al usuario las coordenadas X e Y de dos puntos en el espacio.
Muestra por pantalla la distancia en línea recta entre esos dos puntos.
Muestra por pantalla las coordenadas del punto medio exacto de ambos.
7. Convirtiendo cosas
Haz un programa en Python para convertir de un número decimal a uno binario.
8. Devolviendo el cambio
Haz un programa que reciba un número que represente una cantidad de dinero D,
incluyendo céntimos.
9. Matematicando
Haz un programa en Python que pida dos números enteros N y M al usuario.
¿Lo tienes? Ahora haz lo mismo pero pidiendo varios números al usuario. Almacénalos
en una lista y calcula el MCM y el MCD de todos ellos.
11. Dibujitos
Haz un programa en Python que dibuje por pantalla los siguientes patrones para un
número N leído por teclado. Por ejemplo, para N = 5:
*****
****
***
**
*
*****
* *
* *
* *
*****
* * *
* *
* * *
* *
* * *
*
***
*****
12. Passwords
Haz un programa en Python que compruebe la validez de un password introducido
por pantalla.
14. Agenda
Tenemos un fichero llamado agenda.txt que contiene contactos telefónicos. Cada
línea está compuesta de un número de identificación único, un nombre (pueden ser
varias palabras) y un número de teléfono.
Por ejemplo, el contenido de un fichero con dos líneas puede ser el siguiente:
Haz un programa que lea un fichero con este formato y cargue los datos en memoria.
A continuación pedirá al usuario un número de identificación por teclado y el
programa debe mostrar los datos del contacto con dicho número de identificación, en
este formato (para el identificador 20):
17. Sudokus
Haz un programa que lea de un fichero un Sudoku, resuelto. Es decir, una tabla de 9 x
9 números enteros del 1 al 9 (todas las casillas están cubiertas). El programa debe
decir si el sudoku está resuelto correctamente o no.
18. Matricitas
Haz un programa de Python que lea dos matrices de números enteros y muestre por
pantalla el resultado de multiplicarlas.
Por ejemplo: para la cadena de texto “Tengo 5 gatos con 4 patas cada uno. Uno tiene
12 años.” habría que devolver el valor 21.
21. Tecleando
Haz una función que reciba una lista de palabras por parámetro. La función debe
devolver otra lista con aquellas palabras que pueden ser escritas en un teclado
QWERTY utilizando solo una fila del teclado.
Tu función debe “aplanar” la lista recibida para que sea una lista simple de números.
26. A pedradas
Tenemos una lista de números enteros que representan los pesos de N piedras.
Ahora vamos a jugar a un juego. Se trata de tomar las dos piedras más pesadas y
hacerlas chocar entre sí.
Si los pesos de las piedras son iguales, ambas quedan destruidas. Si no, la más ligera
queda destruida y la mayor pasa a tener el peso que tenía restándole el de la más
ligera.
Y así, se sigue jugando hasta que solo queda una piedra. O ninguna, que puede
suceder.
Haz una función en Python que, para una lista con los pesos de las piedras, devuelva
el peso final de la piedra ganadora. O cero si no queda ninguna.
27. Bombones
Tienes una lista de números enteros que representa el precio de N bombones.
También tienes una cantidad entera D de dinero.
Tienes que comprar exactamente dos bombones de forma que te sobre la mayor
cantidad (no negativa) de dinero.
Haz una función que, para una lista de precios de bombones y una cantidad de dinero
D, devuelva la cantidad que sobra después de hacer la compra. Si no hay manera de
comprar dos bombones, devuelve D.
Tenemos una lista de cadenas de texto que consisten en valores separados por comas
y que representan, en este orden, el nombre de la transacción, el tiempo (en minutos
desde la primera transacción), la cantidad en $ y la ciudad. Por ejemplo:
[“Juan,0,500,Madrid”, “Rubén,30,750,Barcelona”].
Haz una función que para una lista de transacciones devuelva aquellas que son
probablemente inválidas.
30. Caramelos
Tienes una lista de N números enteros. Cada número representa la calificación de un
niño.
Les vas a repartir caramelos de forma que cada niño tenga al menos un caramelo.
Además, un niño debe tener más caramelos que sus vecinos (los que están junto a él
en la lista) si tiene una calificación más alta que ellos.
Haz una función que, para la lista de calificaciones de niños, devuelva el número
mínimo de caramelos necesarios que hay que repartir para que se cumplan las
condiciones.
Comentarios finales
Si has realizado todos estos ejercicios has avanzado un camino enorme desde que te
descargaste este fichero por primera vez. ¡Enhorabuena!
Mi sugerencia ahora es que repitas (sí, repetir es mejor de lo que crees) estos
ejercicios pero prestando especial atención al punto 2, las características de Python.
¡Feliz programación!
Tienes más información acerca de esto en el siguiente enlace, donde además puedes
adquirir las soluciones.