Esta página contiene las soluciones para los ejercicios y el proyecto del tercer día del curso.
- Puesto que el valor que hay en la variable "numero" es mayor que el de la expresión del if, podemos utilizar el operador ">" o ">=" o "!=". Cualquiera de las tres opciones es válida. Lo que se pide en este y en los siguientes 4 ejercicios es que la expresión del if sea "True".
numero = 10 if numero > 7: print("Verdadero.")
- Aquí todo lo contrario, el valor de "numero" es menor que el de la expresión del if, por lo que se debe poner un "<" o "<=" o "!=".
numero = 5 if numero < 7: print("Verdadero.")
- Aquí, es igual por lo tanto, podemos colocar un operador "==".
numero = 7 if numero == 7: print("Verdadero.")
- Aquí colocamos un "and", puesto que color es igual a verde y forma igual a triangular.
color = "verde" forma = "triangular" if color == "verde" and forma == "triangular": print("Verdadero.") else: print("Falso.")
- En este quinto ejercicio, puedes colocar un "or".
color = "rojo" forma = "círculo" tamano = "pequeño" if color == "rojo" and forma == "círculo" or tamano == "grande": print("Verdadero.") else: print("Falso.")
Si has sacado la solución correcta de alguna otra forma, déjamela en los comentarios (si quieres, claro 🙂 ) y así la compartimos para todo el mundo.
- La afirmación es verdadera. El bloque else, no lleva expresión. Depende de las expresiones del if y los elif.
- La condición se cumple. Se ejecuta el if.
- Aquí el error era el else if. En otros lenguajes de programación se escribe así, pero en Python es elif.
- En este noveno ejercicio, el error era un poco más difícil de ver. Solo faltan los dos puntos de la expresión del if.
- En este último ejercicio, lo que está mal, es la expresión del if. Está puesto un operador de asignación en lugar del de igualdad.
- Aquí tienes una posible solución a la calculadora del proyecto número 3 del curso.
¡MUY IMPORTANTE! Este proyecto, se puede hacer mucho mejor con el uso de funciones, tema que todavía no se ha dado en este tercer día. De modo, que esto te servirá para practicar con los condicionales. Una vez lleguemos a las funciones, lo mejoraremos partiendo de esta base.
Primero especificamos un título con un print(). Primer requisito cumplido.
El segundo requisito, es que el usuario pueda elegir una opción antes de pasarle los números. De modo, que he creado un pequeño menú a base de print(). La opción del menú, queda recogida como int() en la variable "eleccion".
Según el valor que haya en la variable, se evalúa con este match. Si no hay conversión de string a int en el input de "eleccion", tendrás que poner los case del match como strings (case "1", case "2"...).
Según la opción, se le dice al usuario lo que ha elegido. Con esto se cumple el tercer requisito.
El cuarto requisito se cumple con la variable "error". Esta está es un valor True por defecto. Si el usuario pone un número de opción no válido, esta variable cambia de valor a False en el case _. De esta forma, ya no le pide seguir con el programa al usuario.
Se solicitan los dos números float (quinto requisito).
En el último match, se realiza la operación con los operandos según lo que hay elegido el usuario. Esto cumple con el sexto requisito.
Como séptimo requisito, tenemos la presentación al usuario. Esto se consigue en este código con el mismo match que realiza las operaciones.
El segundo requisito opcional, era el de redondear los decimales de los resultados a dos dígitos. Esto se hace aplicando round() a las operaciones.
# Se da un título a la calculadora. print("--- CALCULADORA MEJORADA ---") # Se le pide al usuario que elija una opción y se evalúa print("Hola, elija una opción:") print("1- Suma.") print("2- Resta.") print("3- Multiplicación.") print("4- División.") print("5- Módulo.") print("6- Exponente.") # Se le pide al usuario eleccion = int(input("Teclee un número y pulse ENTER:\n")) # Una variable para el control de errores error = True # Un match para que el usuario decida la opción match eleccion: case 1: print('Ha elegido la opción "suma".') case 2: print('Ha elegido la opción "resta".') case 3: print('Ha elegido la opción "multiplicación".') case 4: print('Ha elegido la opción "división".') case 5: print('Ha elegido la opción "módulo".') case 6: print('Ha elegido la opción "exponente".') case _: print('Error, opción inválida.') error = False # Si el usuario elige un valor del menú, se ejecuta el if, si no, el else if error: # Se solicitan los dos números numero_1 = float(input("Especifique el primer operando:\n")) numero_2 = float(input("Especifique el segundo operando:\n")) # Un match indentado que ejecuta solo la operación solicitada match eleccion: case 1: resultado = round(numero_1 + numero_2, 2) print(f"El resultado de sumar {numero_1} + {numero_2} es: {resultado}.") case 2: resultado = round(numero_1 - numero_2, 2) print(f"El resultado de restar {numero_1} - {numero_2} es: {resultado}.") case 3: resultado = round(numero_1 * numero_2, 2) print(f"El resultado de multiplicar {numero_1} por {numero_2} es: {resultado}.") case 4: resultado = round(numero_1 / numero_2, 2) print(f"El resultado de dividir {numero_1} entre {numero_2} es: {resultado}.") case 5: resultado = round(numero_1 % numero_2, 2) print(f"El resto de la división de {numero_1} entre {numero_2} es: {resultado}.") case 6: resultado = round(numero_1 ** numero_2, 2) print(f"{numero_1} elevado a {numero_2} es: {resultado}.") else: print("Por favor, vuelva a ejecutar la calculadora.")
2 comentarios en «0»