Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Juego de múltiplos mágicos solución

Solución a la pregunta 7 de Practicando estructuras condicionales:

Soluión 7

1 respuesta

Hola, Benjamin, espero que estés bien

Parece que tu código está casi correcto, pero hay un pequeño error en la validación del número entero. Cuando usas num_str.lstrip('-').isdigit(), esto permite que números negativos pasen la validación, pero luego intentas convertir el número a entero sin considerar el signo negativo.

Aquí tienes una versión corregida:

while True:
    num_str = input("Introduce un número entero: ")
    if num_str.lstrip('-').isdigit():
        numero = int(num_str)
        break
    else:
        print("Error, introduce solo un número entero.")

if numero % 3 == 0 and numero % 5 == 0:
    print("¡Número mágico!")
elif numero % 3 == 0:
    print("Divisible por 3")
elif numero % 5 == 0:
    print("Divisible por 5")
else:
    print("No es un número mágico")

Este código debería funcionar correctamente para números positivos y negativos. La función lstrip('-') elimina el signo negativo solo para la validación, pero luego se convierte correctamente a un entero con int(num_str).

Espero haber ayudado y buenos estudios!