Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Licence CC BY-NC-ND Thierry Parmentelat & Arnaud Legout Inria - UCA

Exercice - niveau basique

Liste des valeurs d’une fonction

On se donne une fonction polynomiale :

P(x)=2x23x2P(x) = 2x^2 - 3x - 2

On vous demande d’écrire une fonction liste_P qui prend en argument une liste de nombres réels xx et qui retourne la liste des valeurs P(x)P(x).

# voici un exemple de ce qui est attendu
from corrections.exo_liste_p import exo_liste_P
exo_liste_P.example()
The history saving thread hit an unexpected error (OperationalError('attempt to write a readonly database')).History will not be written to the database.
Loading...

Écrivez votre code dans la cellule suivante (On vous suggère d’écrire une fonction P qui implémente le polynôme mais ça n’est pas strictement indispensable, seul le résultat de liste_P compte) :

def P(x):
    "<votre code>"

def liste_P(liste_x):
    "votre code"

Et vous pouvez le vérifier en évaluant cette cellule :

# pour vérifier votre code
exo_liste_P.correction(liste_P)
Loading...

Récréation

Si vous avez correctement implémenté la fonction liste_P telle que demandé dans le premier exercice, vous pouvez visualiser le polynôme P en utilisant matplotlib avec le code suivant :

# on importe les bibliothèques
import numpy as np
import matplotlib.pyplot as plt
# un échantillon des X entre -10 et 10
X = np.linspace(-10, 10)

# et les Y correspondants
Y = liste_P(X)
# on n'a plus qu'à dessiner
plt.plot(X, Y)
plt.show()
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[6], line 2
      1 # on n'a plus qu'à dessiner
----> 2 plt.plot(X, Y)
      3 plt.show()

File /__w/course/course/venv/lib/python3.12/site-packages/matplotlib/pyplot.py:3838, in plot(scalex, scaley, data, *args, **kwargs)
   3830 @_copy_docstring_and_deprecators(Axes.plot)
   3831 def plot(
   3832     *args: float | ArrayLike | str,
   (...)   3836     **kwargs,
   3837 ) -> list[Line2D]:
-> 3838     return gca().plot(
   3839         *args,
   3840         scalex=scalex,
   3841         scaley=scaley,
   3842         **({"data": data} if data is not None else {}),
   3843         **kwargs,
   3844     )

File /__w/course/course/venv/lib/python3.12/site-packages/matplotlib/axes/_axes.py:1777, in Axes.plot(self, scalex, scaley, data, *args, **kwargs)
   1534 """
   1535 Plot y versus x as lines and/or markers.
   1536 
   (...)   1774 (``'green'``) or hex strings (``'#008000'``).
   1775 """
   1776 kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D)
-> 1777 lines = [*self._get_lines(self, *args, data=data, **kwargs)]
   1778 for line in lines:
   1779     self.add_line(line)

File /__w/course/course/venv/lib/python3.12/site-packages/matplotlib/axes/_base.py:297, in _process_plot_var_args.__call__(self, axes, data, return_kwargs, *args, **kwargs)
    295     this += args[0],
    296     args = args[1:]
--> 297 yield from self._plot_args(
    298     axes, this, kwargs, ambiguous_fmt_datakey=ambiguous_fmt_datakey,
    299     return_kwargs=return_kwargs
    300 )

File /__w/course/course/venv/lib/python3.12/site-packages/matplotlib/axes/_base.py:455, in _process_plot_var_args._plot_args(self, axes, tup, kwargs, return_kwargs, ambiguous_fmt_datakey)
    452 # Don't allow any None value; these would be up-converted to one
    453 # element array of None which causes problems downstream.
    454 if any(v is None for v in tup):
--> 455     raise ValueError("x, y, and format string must not be None")
    457 kw = {}
    458 for prop_name, val in zip(('linestyle', 'marker', 'color'),
    459                           (linestyle, marker, color)):

ValueError: x, y, and format string must not be None
<Figure size 640x480 with 1 Axes>