1 | initial version |
Instead of defining fcanonique
, I would directly write a*(x-alpha)^2+beta
once replaced the constants. As a proof of concept, the code
a, b, c = -2, 3, 4
f(x) = a*x^2+b*x+c
alpha = -b/2/a
beta = f(alpha)
fcanonique(x) = a*(x-alpha)^2+beta
texte = (r"Je ne veux pas que mon polynôme soit écrit comme ça : "
fr"${latex(fcanonique(x))}$."
r"Plutôt, il faut qu'il soit écrit comme ça: "
fr"${a}(x-{alpha})^2+{beta}$")
print(texte)
yields
Je ne veux pas que mon polynôme soit écrit comme ça : $-\frac{1}{8} \, {\left(4 \, x - 3\right)}^{2} + \frac{41}{8}$. Plutôt, il faut qu'il soit écrit comme ça: $-2(x-3/4)^2+41/8$.
Please note that you can simplify your code with the help of f-strings instead of the format
method and concatenate strings as shown above. Likewise, I think you can use randrange(-1,2,2)
instead of your own function signe
.
2 | No.2 Revision |
Instead of defining fcanonique
, I would directly write a*(x-alpha)^2+beta
once replaced the constants. As a proof of concept, the code
a, b, c = -2, 3, 4
f(x) = a*x^2+b*x+c
alpha = -b/2/a
beta = f(alpha)
fcanonique(x) = a*(x-alpha)^2+beta
texte = (r"Je ne veux pas que mon polynôme soit écrit comme ça : "
fr"${latex(fcanonique(x))}$."
r"Plutôt, il faut qu'il soit écrit comme ça: ça : "
fr"${a}(x-{alpha})^2+{beta}$")
fr"${a}(x-{alpha})^2+{beta}$.")
print(texte)
yields
Je ne veux pas que mon polynôme soit écrit comme ça : $-\frac{1}{8} \, {\left(4 \, x - 3\right)}^{2} + \frac{41}{8}$. Plutôt, il faut qu'il soit écrit comme ça: ça : $-2(x-3/4)^2+41/8$.
Please note that you can simplify your code with the help of f-strings instead of the format
method and concatenate strings as shown above. Likewise, I think you can use randrange(-1,2,2)
instead of your own function signe
.
3 | No.3 Revision |
Instead of defining fcanonique
, I would directly write a*(x-alpha)^2+beta
once replaced the constants. As a proof of concept, the code
a, b, c = -2, 3, 4
f(x) = a*x^2+b*x+c
alpha = -b/2/a
beta = f(alpha)
fcanonique(x) = a*(x-alpha)^2+beta
texte = (r"Je ne veux pas que mon polynôme soit écrit comme ça : "
fr"${latex(fcanonique(x))}$."
r"Plutôt, il faut qu'il soit écrit comme ça : "
fr"${a}(x-{alpha})^2+{beta}$.")
print(texte)
yields
Je ne veux pas que mon polynôme soit écrit comme ça : $-\frac{1}{8} \, {\left(4 \, x - 3\right)}^{2} + \frac{41}{8}$. Plutôt, il faut qu'il soit écrit comme ça : $-2(x-3/4)^2+41/8$.
Please note that you can simplify your code with the help of f-strings instead of the format
method and concatenate strings as shown above. Likewise, I think you can use randrange(-1,2,2)
instead of your own function signe
.
Edit. Use the pol
function below to fine print the binomial a(x-alpha)^2+beta
:
def pol(a, alpha, beta):
if a==1:
fc = "$"
elif a==-1:
fc = "$-"
else:
fc = f"${a}"
if alpha==0:
fc += "x^2"
elif alpha>0:
fc += f"(x-{alpha})^2"
else:
fc += f"(x+{abs(alpha)})^2"
if beta==0:
fc += "$"
elif beta>0:
fc += f"+{beta}$"
else:
fc += f"-{abs(beta)}$"
return fc
For example, this code
a, b, c = -1, -3, -4
f(x) = a*x^2+b*x+c
alpha = -b/2/a
beta = f(alpha)
texte = "La forme canonique est "
texte += pol(a,alpha,beta)
texte += ". C'est bien comme ça."
print(texte)
now yields
La forme canonique est $-(x+3/2)^2-7/4$. C'est bien comme ça.