Hola buenas, he escrito unas líneas de código para replicar el Teorema de Bolzano y probarlo, pero no me funciona el programa. Aquí os de...

Pregunta de la clase:
Pruebas de caja negra
Iker Alvarez

Iker Alvarez

Pregunta
studenthace 5 años

Hola buenas, he escrito unas líneas de código para replicar el Teorema de Bolzano y probarlo, pero no me funciona el programa. Aquí os dejo el código.

import unittest import math def bolzano(): print("Esta va a ser tu ecuación de tercer grado: Ax^2 + Bx + C = D. Introduce los factores de tu ecuación") # A = float(input("A: ")) # B = float(input("B: ")) # C = float(input("C: ")) # D = float(input("D: ")) A = float(1) B = float(0) C = float(-5) D = float(0) a = float(0.1) fa = A*a**2 + B*a + C -D b = float(100) b_max = b*2 b_min = a for i in range(5): fb = A*b**2 + B*b + C -D bolzano = fa * fb print(b, b_max, b_min) if fb < 0.25 and fb > -0.25: print(b, b_max, b_min) return b elif bolzano < 0: #Hay una raíz entre a y b print(b, b_max, b_min) b = (b - b_min)/2 b_max = b continue elif bolzano > 0: #No hay una raíz entre a y b print(b, b_max, b_min) b = (b_max + b)/2 b_min = b continue return print("No tiene respuesta") class TestBolzano(unittest.TestCase): def run(self): solution = bolzano() print("la respuesta de x es: " + str(solution)) self.assertEqual(solution, math.sqrt(5)) if __name__ == '__main__': unittest.main()

Gracias de antemano

4 respuestas
para escribir tu comentario
    Kevin J. Zea Alvarado

    Kevin J. Zea Alvarado

    studenthace 5 años

    ¡Excelente, crack! Gracias por compartirlo.

    Iker Alvarez

    Iker Alvarez

    studenthace 5 años

    Hola! Escribo de nuevo, he encontrado el fallo. Las funciones tienen que empezar por la palabra test_ para que funcione el unittest:

    class TestBolzano(unittest.TestCase): def test_run(self): solution = bolzano() print("la respuesta de x es: " + str(solution)) self.assertEqual(solution, math.sqrt(6))

    Ahora sí que me ejecuta el test.

    Gracias!

    Iker Alvarez

    Iker Alvarez

    studenthace 5 años
    λ bolzano.py ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK
    Kevin J. Zea Alvarado

    Kevin J. Zea Alvarado

    studenthace 5 años

    Cuando lo abres, ¿qué error te sale?

Curso de Pensamiento Computacional con Python

Curso de Pensamiento Computacional con Python

Comienza tu camino en el desarrollo de software con el lenguaje de programación Python. Entiende la estructura de pensamiento necesaria para resolver problemas en programación. Domina las estructuras de control para crear soluciones. Conoce las características de Python que te permiten reutilizar código. Prueba tu código e implementa correcciones y mejoras.

Curso de Pensamiento Computacional con Python
Curso de Pensamiento Computacional con Python

Curso de Pensamiento Computacional con Python

Comienza tu camino en el desarrollo de software con el lenguaje de programación Python. Entiende la estructura de pensamiento necesaria para resolver problemas en programación. Domina las estructuras de control para crear soluciones. Conoce las características de Python que te permiten reutilizar código. Prueba tu código e implementa correcciones y mejoras.