Soluciones de ejercicios y proyecto – 100 días de Python #6

Soluciones de ejercicios y proyecto – 100 días de Python #6

Esta página contiene las soluciones para los ejercicios y el proyecto del sexto día del curso.

  1. 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)
  1. 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}.")

3 comentarios en «0»

  1. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso de Python Entrada anterior Ejercicios y proyecto con funciones – 100 días de Python #6
curso de Python Entrada siguiente Los diccionarios y los sets – 100 días de Python #7