EJERCICIOS SELECCIONADOS
The Python Wookbook
Ben Stephenson
The Python Wookbook
Ben Stephenson
EJERCICIO 1 - Par o impar
Escriba un programa que lea un número entero del usuario. Entonces su programa debería mostrar un mensaje indicando si el entero es par o impar.
EJERCICIO 2 - Vocal o Consonante.
En este ejercicio, creará un programa que lea una letra del alfabeto de la usuario. Si el usuario ingresa a, e, i, o o u entonces su programa debería mostrar un mensaje indicando que la letra ingresada es una vocal. Si el usuario ingresa y entonces su programa debería mostrar un mensaje indicando que a veces y es una vocal, y a veces y es una consonante. De lo contrario, su programa debería mostrar un mensaje que indique que el letra es una consonante.
EJERCICIO 3 - Identificar un polígono en función de su número de lados.
Escriba un programa que determine el nombre de una figura geométrica a partir de su número de lados. Leer el número de lados del usuario y luego informe el nombre apropiado como parte de un mensaje significativo. Su programa debe admitir formas con lados desde 3 hasta (e incluyendo) 12 lados. Si se ingresa un número de lados fuera de este rango entonces su programa debería mostrar un mensaje de error apropiado.
EJERCICIO 4 - Nombre del mes a número de días
La duración de un mes varía de 28 a 31 días. En este ejercicio crearás un programa que lee el nombre de un mes ofrecido por el usuario como una cadena. Entonces tu programa debe mostrar el número de días de ese mes. Mostrar "28 o 29 días" para febrero para que se aborden los años bisiestos.
Debemos solicitar a un usuario dos nombres y realizar el siguiente análisis. Si coinciden las iniciales de los nombres y los caracteres finales indicar 'Inicial y final son concidentes'. Si coincide la incial pero no la final indicar 'Coincide la inicial del nombre', y si coincide la letra final indicar 'Coincide la letra final'.
La siguiente tabla contiene los rangos de magnitud de los terremotos en la escala Richter y sus descriptores:
Descriptor de magnitud
Menos de 2.0 Micro
2.0 a menos de 3.0 Muy Menor
3.0 a menos de 4.0 Menor
4.0 a menos de 5.0 Ligero
5.0 a menos de 6.0 Moderado
6.0 a menos de 7.0 Fuerte
7.0 a menos de 8.0 Mayor
8.0 a menos de 10.0 Excelente
10.0 o más Meteórico
Escriba un programa que lea una magnitud del usuario y muestre el descriptor apropiado como parte de un mensaje significativo. Por ejemplo, si el usuario ingresa 5.5, su programa debe indicar que un terremoto de magnitud 5.5 se considera un terremoto moderado.
El zodíaco chino asigna animales a los años en un ciclo de 12 años. Un ciclo de 12 años se muestra en la siguiente tabla. El patrón se repite a partir de ahí, siendo 2012 otro año del dragón, siendo 1999 otro año de la liebre.
Año Animal
2000 Dragón
2001 Serpiente
2002 Caballo
2003 Oveja
2004 Mono
2005 Gallo
2006 Perro
2007 Cerdo
2008 Rata
2009 Buey
2010 Tigre
2011 Liebre
Escriba un programa que lea un año del usuario y muestre el animal asociado con ese año. Su programa debería funcionar correctamente para cualquier año mayor o igual a cero, no sólo los enumerados en la tabla.
Una función cuadrática univariante tiene la forma f (x) = ax2 +bx +c, donde a, b y c son constantes, y a no es cero. Sus raíces se pueden identificar encontrando los valores de x que satisfacen la ecuación cuadrática ax2 + bx + c = 0.
Estos valores se pueden calcular utilizando la fórmula cuadrática, que se muestra a a la derecha. Una función cuadrática puede tener 0, 1 o 2 raíces reales.
La porción de la expresión debajo del signo de la raíz cuadrada se llama discriminante. Si el discriminante es negativo, la ecuación cuadrática no tiene raíces reales. Si el discriminante es 0, entonces la ecuación tiene una raíz real. De lo contrario, la ecuación tiene dos raíces reales y la expresión debe evaluarse dos veces, una vez con un signo más y otra con un signo menos, al calcular el numerador.
Escriba un programa que calcule las raíces reales de una función cuadrática. Su programa debe comenzar solicitando al usuario los valores de a, b y c. Luego debe mostrar un mensaje indicando el número de raíces reales, junto con los valores de las raíces reales (si las hay).
La longitud de onda de la luz visible oscila entre 380 y 750 nanómetros (nm). Si bien el espectro es continuo, a menudo se divide en 6 colores, como se muestra a continuación:
Longitud de onda del color (nm)
380 nm < Violeta < 450 nm
495 nm < Verde < 570 nm
570 nm < Amarillo < 590 nm
590 nm < Naranja < 620 nm
620 nm < Rojo < 750 nm
Escribe un programa que lea una longitud de onda del usuario e informe su color. Muestra un mensaje de error apropiado si la longitud de onda ingresada por el usuario está fuera del espectro visible.
Un plan de telefonía móvil incluye 50 minutos en llamadas y 50 mensajes de texto por 15.00 € al mes. Cada minuto adicional de tiempo aire cuesta 0.25 €, mientras que los mensajes de texto adicionales cuestan 0.15 € cada uno. Todas las facturas de teléfonos móviles incluyen un cargo adicional de 0.44 € para respaldar los centros de llamadas del 112, y la factura completa (incluido el cargo del 112) está sujeto a un IVA del 21% de impuesto sobre las ventas. Escriba un programa que lea la cantidad de minutos y mensajes de texto usados en un mes del usuario. Muestra el cargo base, el cargo por minutos adicionales (si corresponde), el cargo por mensaje de texto adicional (si corresponde), la tarifa del 112, el impuesto y el monto total de la factura. Solo muestre los cargos adicionales por minutos y mensajes de texto si el usuario incurrió en costos en estas categorías. Asegúrese de que todos los cargos se muestren con 2 decimales.
EJERCICIO 14 - ¿Es un año bisiesto?
La mayoría de los años tienen 365 días. Sin embargo, el tiempo requerido para que la Tierra gire alrededor del Sol es en realidad un poco más que eso. Como resultado, en algunos años se incluye un día adicional, el 29 de febrero, para corregir esta diferencia. Estos años se denominan años bisiestos.
Las reglas para determinar si un año es bisiesto o no son las siguientes:
• Cualquier año que sea divisible por 400 es un año bisiesto.
• De los años restantes, cualquier año que sea divisible por 100 no es un año bisiesto.
• De los años restantes, cualquier año que sea divisible por 4 es un año bisiesto.
• Todos los demás años no son años bisiestos.
Escriba un programa que lea un año del usuario y muestre un mensaje que indique si es un año bisiesto o no.
EJERCICIO 15 - ¿Es válida una matrícula?
En una jurisdicción particular, las placas de matrícula más antiguas constan de tres letras mayúsculas seguidas de tres dígitos. Cuando se habían utilizado todas las matrículas que seguían ese patrón, se cambió el formato a cuatro dígitos seguidos de tres letras mayúsculas. Escriba un programa que comience leyendo una cadena de caracteres del usuario. Luego, su programa debería mostrar un mensaje que indique si los caracteres son válidos para una placa de estilo más antiguo o para una placa de estilo más nuevo. Su programa debería mostrar un mensaje apropiado si la cadena ingresada por el usuario no es válida para ningún estilo de matrícula.
EJERCICIO 16 - Ruleta de la suerte
Una rueda de ruleta tiene 38 espacios. De estos espacios, 18 son negros, 18 son rojos y dos son verdes. Los espacios verdes están numerados 0 y 00. Los espacios rojos están numerados 1,3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30 32, 34 y 36. Los los números enteros restantes entre 1 y 36 se utilizan para numerar los espacios negros.
Se pueden realizar muchas apuestas diferentes en la ruleta. Solo consideraremos el siguiente subconjunto de ellos en este ejercicio:
• Número único (1 a 36, 0 o 00)
• Rojo contra negro
• Impar versus par (Tenga en cuenta que 0 y 00 no pagan par)
• 1 a 18 versus 19 a 36
Escriba un programa que simule el giro de una rueda de ruleta utilizando el generador de números aleatorios de Python. Muestra el número que se seleccionó y todas las apuestas que se deben pagar. Por ejemplo, si se selecciona 13, su programa debería mostrar:
El giro resultó en 13...
Paga 13
paga negro
pago impar
Paga 1 a 18
Si la simulación da como resultado 0 o 00, su programa debería mostrar Pagar 0 o Pagar 00 sin más resultados.