""" Calcul des valeurs et des dérivées de la fonction f(x) = (x^2 + x*sin(x)) / x! """ import math def fact(x:int) -> int: """ Calcul de la factorielle de x pour x entier """ x = int(x) # il fallait utiliser la conversion ici if x == 0: return 1 else: return x * fact(x-1) def f(x): """ definition de la fonction f(x) return (x**2 + x*math.sin(x)) / fact(x) """ return (x**2 + x*math.sin(x)) / math.factorial(int(x)) def derive(i, h=1e-10): """ Calcul de la dérivée de f en i """ return (f(i+h) - f(i)) / h def main(): """ Fonction principale """ for i in range(0,10): print(f"{i} {f(i):2.5f} {derive(i):2.5f}") if __name__ == "__main__": main()