algo Python second degré

Répondre


Aide syntaxe LaTeX
Les BBCodes sont activés
[img] est désactivé
[flash] est désactivé
[url] est activé
Les smileys sont désactivés

Revue du sujet
   

Si vous souhaitez joindre un ou plusieurs fichiers, complétez les indications suivantes.

Étendre la vue Revue du sujet : algo Python second degré

Re: algo Python second degré

par sos-math(21) » ven. 4 nov. 2022 09:20

Bonjour,
Pas de problème, les chaînes formatées facilitent la communication en rendant possible la production de messages « complexes ».
Bonne continuation et à bientôt sur sos math

Re: algo Python second degré

par Cédric » ven. 4 nov. 2022 08:36

Bonjour,
oui, merci beaucoup de m'avoir appris cette notion de chaînes formatées !
C.

Re: algo Python second degré

par sos-math(21) » jeu. 3 nov. 2022 16:23

Bonjour,
c'est ce qu'on appelle une chaine formatée en Python.
Les chaînes formatées permettent d'inclure la valeur d'expressions Python dans des chaines de caractères en les préfixant avec f ou F et écrire des expressions comme {expression} .
Cela signifie que tu peux inclure des valeurs de variables dans ta chaine en mettant ton nom de variable entre accolades.
C'est ce qui est fait dans la variable message :

Code : Tout sélectionner

message = f"Le sommet de la parabole a pour ordonnée {ys} et cela correspond au {ext}."
La chaine de caractère affichera la valeur courante contenue dans ys et celle dans ext.
Est-ce plus clair ?

Re: algo Python second degré

par Cédric » jeu. 3 nov. 2022 16:19

Re-bonjour,
excusez-moi de revenir vers vous car il y a quelque chose qui m'a échappé !
Dans votre script raffiné, je lis :
message = f"Le sommet de la parabole a pour ordonnée {ys} et cela correspond au {ext}."
Quel est le rôle de la lettre f mise avant le texte ?
Merci !
C.

Re: algo Python second degré

par sos-math(21) » jeu. 3 nov. 2022 14:52

Bonjour,
très bien.
Bonne continuation et à bientôt sur sos-math

Re: algo Python second degré

par Cédric » jeu. 3 nov. 2022 14:48

Merci beaucoup !
Tout est clair.
C.

Re: algo Python second degré

par sos-math(21) » jeu. 3 nov. 2022 11:49

Bonjour,
dans ton programme de fonction, tu utilises les mots min et max comme des variables, et dans ce cas très particulier, comme Python possède déjà des commandes min et max dans ses mots-clés, il te renvoie ce qu'il comprend comme fonction min, c'est-à-dire sa fonction native (built-in).
Il faut donc que tu définisses correctement ta variable ext en affectant des chaines de caractère :

Code : Tout sélectionner

from lycee import *
def sommet(a,b,c) :
      xs = -b / (2*a)
      ys = a * (xs)**2 + b * (xs) + c
      if a < 0:
         ext = "max" # on affecte à la variable la chaine de caractère "max"
      else :
         ext = "min" # on affecte à la variable la chaine de caractère "min"
      return (xs,ys,ext)


Normalement, cela devrait marcher.
Tu peux aussi raffiner ton message avec une chaine formatée :

Code : Tout sélectionner

def sommet_bis(a,b,c) :
      xs = -b / (2*a)
      ys = a * (xs)**2 + b * (xs) + c
      if a < 0:
         ext = "maximum"
         # on affecte à la variable la chaine de caractère "max"
      else :
         ext = "minimum" # on affecte à la variable la chaine de caractère "min"
      message = f"Le sommet de la parabole a pour ordonnée {ys} et cela correspond au {ext}."
      return xs,ys,message
et l'appel sommet_bis(2,4,8) donne :

Code : Tout sélectionner

In [11]: sommet_bis(4,8,6)
Out[11]: 
(-1.0,
 2.0,
 'Le sommet de la parabole a pour ordonnée 2.0 et cela correspond au minimum.')
Bonne continuation

algo Python second degré

par Cédric » jeu. 3 nov. 2022 11:35

Bonjour,
voici un algorithme avec Python pour obtenir les coordonnées du sommet d'une parabole connaissant le polynôme de degré 2 associé et pour savoir aussi s'il a un maximum ou un minimum.

from lycee import *
def sommet(a,b,c) :
xs=-b/(2*a)
ys=a*(xs)**2+b*(xs)+c
if a<0:
ext=max
else :
ext=min
return(xs,ys,ext)

Quand je tape dans la console Python sommet(4,8,6) par exemple ça m'affiche :
*** Console de processus distant Réinitialisée ***
...module lycee actif....
>>> sommet(4,8,6)
(-1.0, 2.0, <built-in function min>)
Pourquoi, cela n'affiche-t-il pas (-1,2,min) ?
merci !
C.

Haut