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 :
On vous demande d’écrire une fonction liste_P qui prend en argument une liste de nombres réels et qui retourne la liste des valeurs .
# 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