Foros Python

Versión completa: Ayuda urgente con un ejercicio.
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola! Necesito ayuda con un ejercicio. Soy principiante en python y no se si lo he hecho bien. 

El ejercicio dice así:

Construir una función que aproxime pi mediante la integral siguiente: 

1. Definir función 1/(1+x**2)
2. Definir una función que calcule la integral, entrada, N (nº de intervalos), salida la aproximación pi
3. if _name == "_main_"
4. input (error)
5. erro_aprox=1
6. loop while error_approx > error
7. calculo aproximado de pi (N)
8. error_approx = abs (aprox_pi-pi)
9. incrementar N

Dado un error de entrada, buscar el número de intervalos de integracion necesario (usas while).

Yo he hecho esto, pero no sé si está bien: 

from mylib import fun
from math import pi
def fun(x):
    res = 1.0/(1+x**2)
    return res
if __name__ == "__main__":
    n=int(input("Introducir N:"))
    h = 1.0/float(n)
    sum = (fun(0.0)+fun(1.0))/2
    for i in range (1,n+1,1):
        x = i*h
        sum = sum+fun(x)
    intpi = 4*sum*h
    print("Aproximar pi=", intpi, "pi=", pi, "error=", 100*abs(pi-intpi)/pi, "%")
import sys
def fun (x):
    if (n<0):
        print ("Error. N debe ser > 0")
        sys.exit ()
    for i in range (1, n, 1):
        fact=fact*i
    return fact
def wfact (n):
    if (n<0):
        print ("Error. N debe ser > 0")
        sys.exit()
    fact = n
    i = n
    while (i-1>0):
        i=i-1
        fact = fact*i
    return fact
if __name__== "__main__":
    from math import factorial
    n=int (input("Introducir N:"))
    print ("Factorial de N=", myfact(n), "from math library", factorial (float(n)))
    print ("factorial con while", wfact(n))
   
Por fa, lo necesito con urgencia para hoy, si me podéis ayudar, os lo agradecería. Disculpad las molestias.