teaching:progappchim:polynomes-7

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
teaching:progappchim:polynomes-7 [2018/02/27 08:59] villersdteaching:progappchim:polynomes-7 [2019/02/25 11:06] (Version actuelle) villersd
Ligne 74: Ligne 74:
 Dans le fonction polyadd ci-dessus, l'idée est de compléter les listes par autant de zéros qu'il faut pour que la liste la plus courte devienne aussi longue que l'autre. On travaille en fait sur des copies des listes pour ne pas modifier les données originales, car python passe les paramètres des fonctions par référence et pas par valeur Dans le fonction polyadd ci-dessus, l'idée est de compléter les listes par autant de zéros qu'il faut pour que la liste la plus courte devienne aussi longue que l'autre. On travaille en fait sur des copies des listes pour ne pas modifier les données originales, car python passe les paramètres des fonctions par référence et pas par valeur
  (//cf.// [[http://www.tutorialspoint.com/python/python_functions.htm|ici]] ou [[http://www.python-course.eu/passing_arguments.php|là]]). Polyadd aurait pu être conçue d'une autre manière, par exemple en additionnant les termes tant qu'on est en dessous du degré maximum du polynôme de degré minimum ! et en complétant ensuite par les coefficients de degré supérieur du polynôme de degré maximum. Comme la [[polynomes-7-contrib1|proposition suivante d'un étudiant]] !  (//cf.// [[http://www.tutorialspoint.com/python/python_functions.htm|ici]] ou [[http://www.python-course.eu/passing_arguments.php|là]]). Polyadd aurait pu être conçue d'une autre manière, par exemple en additionnant les termes tant qu'on est en dessous du degré maximum du polynôme de degré minimum ! et en complétant ensuite par les coefficients de degré supérieur du polynôme de degré maximum. Comme la [[polynomes-7-contrib1|proposition suivante d'un étudiant]] !
 +
 +Si on utilise les astuces de programmation les plus "pythoniques" avec notamment la librairie [[https://docs.python.org/3/library/itertools.html|itertools]], la fonction polyadd peut être récrite beaucoup plus simplement :
 +
 +<code python>
 +def polyadd2(a,b):
 +    """ Addition de deux polynomes de coefficients a et b
 +    utilisation de la librairie itertools avec itertools.zip_longest
 +    ref : https://stackoverflow.com/questions/44000727/iterate-over-two-lists-with-different-lengths
 +    """
 +    return [u + v for u, v in itertools.zip_longest(a, b, fillvalue=0)]
 +</code>
  
 Il est temps de créer des graphes de fonctions polynomiales. Comment faire ? Quelles librairies utiliser ? Il est temps de créer des graphes de fonctions polynomiales. Comment faire ? Quelles librairies utiliser ?
  • teaching/progappchim/polynomes-7.txt
  • Dernière modification : 2019/02/25 11:06
  • de villersd