Esta página contiene las soluciones para los ejercicios y el proyecto del sexto día del curso.
- Solo hace falta una simple función con un insert() que almacene en la lista el valor del input() pasado como argumento en la llamada.
colores = ["rojo", "verde", "amarillo"] def anadir_color(color): colores.insert(0, color) anadir_color(input("Escriba un color para añadirlo a la lista:\n")) print(colores)
- Aquí el error estaba solo por no poner los dos puntos después de los paréntesis. Un error muy común, puesto que la función ya lleva paréntesis, a veces se olvida de poner los dos puntos.
Recuerda, bloque indentado lleva dos puntos siempre al final de la primera línea. Aplicable a condicionales, bucles, funciones y clases.
def saludar(): nombre = input("Introduzca su nombre, por favor\n") print(f"¡Muy buenas, {nombre}!")
Solución del proyecto de calculadora mejorada de nuevo
Aquí tienes mi solución.
Creamos funciones para cada operación.
Bucle infinito para poder realizar todas las operaciones que queramos.
En el vídeo de este sexto día, puedes ver detalladamente las explicaciones de todo este código.
# Se da un título a la calculadora. print("--- CALCULADORA MEJORADA DE NUEVO ---") # Funciones # Suma def suma(numero1,numero2): return numero1 + numero2 # Resta def resta(numero1,numero2): return numero1 - numero2 # Multiplicación def multiplicacion(numero1,numero2): return numero1 * numero2 # División def division(numero1,numero2): return numero1 / numero2 # Módulo def modulo(numero1,numero2): return numero1 % numero2 # Exponente def exponente(numero1,numero2): return numero1 ** numero2 while True: # Se le pide al usuario que elija una opción y se evalúa print("Por favor, 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.") print("7- Salir.") # Se le pide al usuario un número de opción eleccion = int(input("Teclee un número y pulse ENTER:\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 7: print('Saliendo de la calculadora...') break case _: print('Error, opción inválida. Especifique una opción del 1 al 7.') # Se solicitan los dos números para cualquier operación que elija. numero_1 = float(input("Especifique el primer operando:\n")) numero_2 = float(input("Especifique el segundo operando:\n")) match eleccion: case 1: resultado = round(suma(numero_1, numero_2), 2) print(f"El resultado de sumar {numero_1} + {numero_2} es: {resultado}.") case 2: resultado = round(resta(numero_1, numero_2), 2) print(f"El resultado de restar {numero_1} - {numero_2} es: {resultado}.") case 3: resultado = round(multiplicacion(numero_1, numero_2), 2) print(f"El resultado de multiplicar {numero_1} por {numero_2} es: {resultado}.") case 4: resultado = round(division(numero_1, numero_2), 2) print(f"El resultado de dividir {numero_1} entre {numero_2} es: {resultado}.") case 5: resultado = round(modulo(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(exponente(numero_1, numero_2), 2) print(f"{numero_1} elevado a {numero_2} es: {resultado}.")
Solución del proyecto opcional
Esta segunda solución es para la calculadora opcional, la cual, realiza todas las operaciones de una sola vez:
# Se da un título a la calculadora. print("--- CALCULADORA OPCIONAL ---") # Funciones # Suma def suma(numero1,numero2): return numero1 + numero2 # Resta def resta(numero1,numero2): return numero1 - numero2 # Multiplicación def multiplicacion(numero1,numero2): return numero1 * numero2 # División def division(numero1,numero2): return numero1 / numero2 # Módulo def modulo(numero1,numero2): return numero1 % numero2 # Exponente def exponente(numero1,numero2): return numero1 ** numero2 while True: # Se solicitan los dos números para cualquier operación que elija. numero_1 = float(input("Especifique el primer operando:\n")) numero_2 = float(input("Especifique el segundo operando:\n")) resultado = round(suma(numero_1, numero_2), 2) print(f"El resultado de sumar {numero_1} + {numero_2} es: {resultado}.") resultado = round(resta(numero_1, numero_2), 2) print(f"El resultado de restar {numero_1} - {numero_2} es: {resultado}.") resultado = round(multiplicacion(numero_1, numero_2), 2) print(f"El resultado de multiplicar {numero_1} por {numero_2} es: {resultado}.") resultado = round(division(numero_1, numero_2), 2) print(f"El resultado de dividir {numero_1} entre {numero_2} es: {resultado}.") resultado = round(modulo(numero_1, numero_2), 2) print(f"El resto de la división de {numero_1} entre {numero_2} es: {resultado}.") resultado = round(exponente(numero_1, numero_2), 2) print(f"{numero_1} elevado a {numero_2} es: {resultado}.")
Soluciones de ejercicios y proyecto – 100 días de Python #6
En calculadora mejorada de nuevo, corrí el programa y se me queda en un bucle infinito. Tuve que colocarle unos break para poder que funcionara mejor… anexo el programa con los breaks.
# Se da un título a la calculadora.
print(«— CALCULADORA MEJORADA DE NUEVO —«)
# Funciones
# Suma
def suma(numero1,numero2):
return numero1 + numero2
# Resta
def resta(numero1,numero2):
return numero1 – numero2
# Multiplicación
def multiplicacion(numero1,numero2):
return numero1 * numero2
# División
def division(numero1,numero2):
return numero1 / numero2
# Módulo
def modulo(numero1,numero2):
return numero1 % numero2
# Exponente
def exponente(numero1,numero2):
return numero1 ** numero2
while True:
# Se le pide al usuario que elija una opción y se evalúa
print(«Por favor, 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.»)
print(«7- Salir.»)
# Se le pide al usuario un número de opción
eleccion = int(input(«Teclee un número y pulse ENTER:\n»))
match eleccion:
case 1:
print(‘Ha elegido la opción «suma».’)
case 2:
print(‘Ha elegido la opción «resta».’)
break
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 7:
print(‘Saliendo de la calculadora…’)
break
case _:
print(‘Error, opción inválida. Especifique una opción del 1 al 7.’)
# Se solicitan los dos números para cualquier operación que elija.
numero_1 = float(input(«Especifique el primer operando:\n»))
numero_2 = float(input(«Especifique el segundo operando:\n»))
match eleccion:
case 1:
resultado = round(suma(numero_1, numero_2), 2)
print(f»El resultado de sumar {numero_1} + {numero_2} es: {resultado}.»)
break
case 2:
resultado = round(resta(numero_1, numero_2), 2)
print(f»El resultado de restar {numero_1} – {numero_2} es: {resultado}.»)
break
case 3:
resultado = round(multiplicacion(numero_1, numero_2), 2)
print(f»El resultado de multiplicar {numero_1} por {numero_2} es: {resultado}.»)
break
case 4:
resultado = round(division(numero_1, numero_2), 2)
print(f»El resultado de dividir {numero_1} entre {numero_2} es: {resultado}.»)
break
case 5:
resultado = round(modulo(numero_1, numero_2), 2)
print(f»El resto de la división de {numero_1} entre {numero_2} es: {resultado}.»)
break
case 6:
resultado = round(exponente(numero_1, numero_2), 2)
print(f»{numero_1} elevado a {numero_2} es: {resultado}.»)
break