Addition de variables type "float"
Fermé
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
-
2 févr. 2021 à 08:11
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 25 févr. 2021 à 16:03
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 25 févr. 2021 à 16:03
A voir également:
- Addition de variables type "float"
- Formule excel addition - Guide
- Clear type - Guide
- Type de ram - Guide
- Changer type de fichier - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
15 réponses
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
5
2 févr. 2021 à 08:15
2 févr. 2021 à 08:15
Suite:
Et je souhaite avoir une restitution par une commande type doc.write(a)
sous la forme 1 000,00 (séparateur des mille et deux chiffres après la virgule).
Merci par avance.
Et je souhaite avoir une restitution par une commande type doc.write(a)
sous la forme 1 000,00 (séparateur des mille et deux chiffres après la virgule).
Merci par avance.
georges97
Messages postés
13219
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
22 mars 2025
2 518
2 févr. 2021 à 08:53
2 févr. 2021 à 08:53
Bonjour,
On a tous été noob un jour, ce n'est pas un défaut. Je dirais même que c'est un état permanent, nous sommes tous le noob de quelqu'un.
Par ailleurs, la possibilité d'une aide est facilitée par l'utilisation des balises de code, qui permet d'une part de vérifier que vous ayez respecté la syntaxe de python et notamment l'indentation, d'autre part qu'apparaissent les messages d'erreur, qui sont un élément important de la progression en matière de codage.
le mode d'emploi est ici et vous pourrez le vérifier immédiatement:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Sur vos questions:
bien que python repose sur le typage dynamique des variables, la syntaxe de la vesrion 3.x implique un string comme résultat d'un input, d'où le message d'erreur.
Pour entrer une variable int votre instruction devrait être sous la forme:
a = int(input("Combien vaut a ? "))
ce qui donnerait directement un entier et éviterait le recours 'la a déclaration dans votre dernière ligne.
Je vous laisse deviner ce qu'il faut écrire pour un float
Pour la deuxième question, le temps que je vérifie un autre intervenant aura donné la syntaxe mais cela repose sans doute sur l'utilisation de la fonction format() puis de la fonction write() pour écrire dans un fichier.
Cordialement
On a tous été noob un jour, ce n'est pas un défaut. Je dirais même que c'est un état permanent, nous sommes tous le noob de quelqu'un.
Par ailleurs, la possibilité d'une aide est facilitée par l'utilisation des balises de code, qui permet d'une part de vérifier que vous ayez respecté la syntaxe de python et notamment l'indentation, d'autre part qu'apparaissent les messages d'erreur, qui sont un élément important de la progression en matière de codage.
le mode d'emploi est ici et vous pourrez le vérifier immédiatement:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Sur vos questions:
bien que python repose sur le typage dynamique des variables, la syntaxe de la vesrion 3.x implique un string comme résultat d'un input, d'où le message d'erreur.
Pour entrer une variable int votre instruction devrait être sous la forme:
a = int(input("Combien vaut a ? "))
ce qui donnerait directement un entier et éviterait le recours 'la a déclaration dans votre dernière ligne.
Je vous laisse deviner ce qu'il faut écrire pour un float
Pour la deuxième question, le temps que je vérifie un autre intervenant aura donné la syntaxe mais cela repose sans doute sur l'utilisation de la fonction format() puis de la fonction write() pour écrire dans un fichier.
Cordialement
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
5
2 févr. 2021 à 09:03
2 févr. 2021 à 09:03
Grazie mille Georges !
georges97
Messages postés
13219
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
22 mars 2025
2 518
2 févr. 2021 à 09:11
2 févr. 2021 à 09:11
prego, jipi.
georges97
Messages postés
13219
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
22 mars 2025
2 518
2 févr. 2021 à 09:44
2 févr. 2021 à 09:44
Infos sur le formatage:
https://stackoverflow.com/questions/6149006/display-a-float-with-two-decimal-places-in-python
https://docs.python.org/fr/3.9/library/stdtypes.html
A regarder pour la fonction write()
https://docs.python.org/3/tutorial/inputoutput.html
Je n'ai pas vérifié si l'on peut y insérer la fonction float() ou s'il faut d'abord réaliser une conversion de float formaté en string, mais c'est un bel exercice de vérifier qu'on peut intégrer le float dans un write().
Sous la forme write(format(..))
Ce serait bien de nous faire un retour sous forme d'un script sous balises.
Merci d'avance.
https://stackoverflow.com/questions/6149006/display-a-float-with-two-decimal-places-in-python
https://docs.python.org/fr/3.9/library/stdtypes.html
A regarder pour la fonction write()
https://docs.python.org/3/tutorial/inputoutput.html
Je n'ai pas vérifié si l'on peut y insérer la fonction float() ou s'il faut d'abord réaliser une conversion de float formaté en string, mais c'est un bel exercice de vérifier qu'on peut intégrer le float dans un write().
Sous la forme write(format(..))
Ce serait bien de nous faire un retour sous forme d'un script sous balises.
Merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
5
2 févr. 2021 à 10:10
2 févr. 2021 à 10:10
Ok. J'ai survolé les liens, ça a l'air de bien dégrossir la question.
Je vais potasser ça ce soir.
Encore merci Georges !
Je vais potasser ça ce soir.
Encore merci Georges !
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 2 févr. 2021 à 16:28
Modifié le 2 févr. 2021 à 16:28
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
5
2 févr. 2021 à 16:49
2 févr. 2021 à 16:49
Georges explique dans son message que les versions postérieures à la 3.0 considèrent la variable issue d'un INPUT comme un string.
peut-être utilises-tu une version antérieure.
peut-être utilises-tu une version antérieure.
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 2 févr. 2021 à 16:54
Modifié le 2 févr. 2021 à 16:54
non, je suis en 3.7.2
donc la variable issue de input est bien une string
mais ensuite float(a) converti bien la string a en float, de même pour b
et ca donne ce que tu vois sur mon image ...
il marche très bien ton code
donc la variable issue de input est bien une string
mais ensuite float(a) converti bien la string a en float, de même pour b
et ca donne ce que tu vois sur mon image ...
il marche très bien ton code
georges97
Messages postés
13219
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
22 mars 2025
2 518
2 févr. 2021 à 17:18
2 févr. 2021 à 17:18
Bonjour Phil,
Je n'ai effectivement testé que la première ligne (dans thonny, qui se prête au code sans enregistrer le script, comme tu le sais sans doute) puisqu'il signalait avoir eu un message d'erreur.
As-tu une idée d'où ça vient? de l'IDE utilisé. C'est quand même surprenant non?
jipi aura découvert une autre méthode, qui lui servira peut-être par ailleurs.
Je vais faire ton test, pour ma propre culture, sans aucun doute du résultat.
Et pour ce que je suggère plus loin, est-il possible de mixer le write() et le format()
Ca m'a donné l'occasion de te saluer.
A plus
Je n'ai effectivement testé que la première ligne (dans thonny, qui se prête au code sans enregistrer le script, comme tu le sais sans doute) puisqu'il signalait avoir eu un message d'erreur.
As-tu une idée d'où ça vient? de l'IDE utilisé. C'est quand même surprenant non?
jipi aura découvert une autre méthode, qui lui servira peut-être par ailleurs.
Je vais faire ton test, pour ma propre culture, sans aucun doute du résultat.
Et pour ce que je suggère plus loin, est-il possible de mixer le write() et le format()
Ca m'a donné l'occasion de te saluer.
A plus
georges97
Messages postés
13219
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
22 mars 2025
2 518
2 févr. 2021 à 17:53
2 févr. 2021 à 17:53
@ jipi
Testé sous mu et thonny et fonctionne sans problème. Quel ide ou éditeur aviez vous utilisé?
Testé sous mu et thonny et fonctionne sans problème. Quel ide ou éditeur aviez vous utilisé?
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
2 févr. 2021 à 18:02
2 févr. 2021 à 18:02
Bonjour Georges,
Oui, c'est bizarre, son code tout simple fonctionne sans erreur
Personnellement, j'ai IDLE comme IDE, mais en fait, j'utilise mon éditeur de texte favori
(UltraEdit32), et j'exécute en double-cliquant le fichier .py dans mon répertoire
Oui, c'est bizarre, son code tout simple fonctionne sans erreur
Personnellement, j'ai IDLE comme IDE, mais en fait, j'utilise mon éditeur de texte favori
(UltraEdit32), et j'exécute en double-cliquant le fichier .py dans mon répertoire
georges97
Messages postés
13219
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
22 mars 2025
2 518
2 févr. 2021 à 18:07
2 févr. 2021 à 18:07
Attendons le retour de jipi.
Je t'ai repéré sur un circuit automobile et n'ai pas eu de réponse à ma question:
est-il possible de mixer le write() et le format()
L'ivresse de la vitesse?
Je t'ai repéré sur un circuit automobile et n'ai pas eu de réponse à ma question:
est-il possible de mixer le write() et le format()
L'ivresse de la vitesse?
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
>
georges97
Messages postés
13219
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
22 mars 2025
2 févr. 2021 à 18:12
2 févr. 2021 à 18:12
write, c'est pour écrire dans un fichier ...
georges97
Messages postés
13219
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
22 mars 2025
2 518
>
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
2 févr. 2021 à 18:18
2 févr. 2021 à 18:18
J'ai eu l'impression que c'est ce qu'il voulait faire
je souhaite avoir une restitution par une commande type doc.write(a)
sous la forme 1 000,00 (séparateur des mille et deux chiffres après la virgule)
le doc m'a fait penser qu'il voulait transférer le résultat dans un fichier texte mais c'est sans doute une erreur de ma part.
je souhaite avoir une restitution par une commande type doc.write(a)
sous la forme 1 000,00 (séparateur des mille et deux chiffres après la virgule)
le doc m'a fait penser qu'il voulait transférer le résultat dans un fichier texte mais c'est sans doute une erreur de ma part.
jee pee
Messages postés
40958
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 mars 2025
9 568
Modifié le 2 févr. 2021 à 18:04
Modifié le 2 févr. 2021 à 18:04
Bonjour,
"par exemple "40,00" pour a et "12,30" pour b"la virgule en séparateur pour la conversion float ne vas passer
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
5
14 févr. 2021 à 10:50
14 févr. 2021 à 10:50
Oui, apparemment, il s'agit d'un problème de virgule... Dommage, les virgules sont graphiquement plus pertinentes dans un texte de type contrat.
Je vous fais un rendu sur les float et les séparateurs dès que j'ai programmé mon module. (Pas tout de suite, je suis loin d'être une flèche.)
Merci à tous en tout cas.
Je vous fais un rendu sur les float et les séparateurs dès que j'ai programmé mon module. (Pas tout de suite, je suis loin d'être une flèche.)
Merci à tous en tout cas.
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
>
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
14 févr. 2021 à 10:54
14 févr. 2021 à 10:54
Bonjour Jipi,
Qu'on le veuille ou non, en informatique, le séparateur décimal est un point et pas une virgule ...
Qu'on le veuille ou non, en informatique, le séparateur décimal est un point et pas une virgule ...
Utilisateur anonyme
>
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
Modifié le 14 févr. 2021 à 11:51
Modifié le 14 févr. 2021 à 11:51
Bonjour
Et au pire ça se traite.
le séparateur décimal est un point et pas une virgule ...certes mais il y a des langages qui prennent en compte la culture de l'ordinateur
Et au pire ça se traite.
nombreStringFormatFrancais = "1 234,56" intermediaire = nombreStringFormatFrancais.replace(" ","") nombreStringFormatInformatique = intermediaire.replace(",", ".") nombre = float(nombreStringFormatInformatique) print("le nombre est ", nombre)
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
>
Utilisateur anonyme
Modifié le 14 févr. 2021 à 19:03
Modifié le 14 févr. 2021 à 19:03
Ok, mais dans les langages de programmation en général (C, C++, Basic, Java, Tcl, Python ...), c'est toujours un point décimal
culture ou pas culture ...
Mais bon, tu sais comment traiter le problème maintenant ...
culture ou pas culture ...
Mais bon, tu sais comment traiter le problème maintenant ...
a = input("Combien vaut a ? ") a = float(a.replace(',','.'))
Utilisateur anonyme
>
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
14 févr. 2021 à 20:17
14 févr. 2021 à 20:17
Tu sites C++ et Basic, les versions .Net de ces langages prennent en compte la culture
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 2 févr. 2021 à 18:07
Modifié le 2 févr. 2021 à 18:07
Ah ça, c'est sur !
En fait, si c'est vraiment ça qu'il entre, tout vient de là !
En fait, si c'est vraiment ça qu'il entre, tout vient de là !
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
5
Modifié le 24 févr. 2021 à 19:00
Modifié le 24 févr. 2021 à 19:00
A y'est, ça marche !
Je vous propose ce petit programme qui calcule la mensualité d'un prêt avec ou sans différé, à partir du montant du prêt, de son taux et de sa durée.
(cliquer sur le lien en bas de page pour avoir les indentations correctes)
import locale
locale.setlocale(locale.LC_ALL, '')
montantcrédit= float(input("Quel est le montant du prêt ? "))
tauxcrédit= float(input("Quel est le taux d'intérêt ? "))
duréecrédit=int(input("Quelle est la durée du crédit en mois ? "))
intérêtmensuel=(montantcrédit*(tauxcrédit/100)/12)
intérêtannuel=(montantcrédit*(tauxcrédit/100))
présencedifféré= input("Y a-t-il un différé ? ")
if présencedifféré=="o":
typedifféré=input("le différé est-il partiel ou total (p/t) ? ")
duréedifféré=int(input("Merci d'indiquer la durée du différé "))
duréecrédit=int(duréecrédit)-int(duréedifféré)
if typedifféré =="p":
print("\n\nla mensualité du différé partiel est de " + ("{:,.2f}".format(intérêtmensuel).replace(',', ' ').replace('.', ',')) + " euros durant " + str(duréedifféré) + " mois")
elif typedifféré == "t":
indexdifféré=int((duréedifféré)/12)
for i in range (1, indexdifféré + 1):
intérêtannuel = (montantcrédit * (tauxcrédit / 100))
montantcrédit=montantcrédit + intérêtannuel
print("\n\ndifféré total durant " + str(duréedifféré) + " mois")
mensualitéamortissement= ((montantcrédit * (tauxcrédit/100))/12)/(1-(1+((tauxcrédit/100)/12)) **-(duréecrédit))
print("La mensualité d'amortissement est de " + ("{:,.2f}".format(mensualitéamortissement).replace(',', ' ').replace('.', ',')) + " euros durant " + str(duréecrédit) + " mois")
https://www.zupimages.net/up/21/08/zark.png
Je vous propose ce petit programme qui calcule la mensualité d'un prêt avec ou sans différé, à partir du montant du prêt, de son taux et de sa durée.
(cliquer sur le lien en bas de page pour avoir les indentations correctes)
import locale
locale.setlocale(locale.LC_ALL, '')
montantcrédit= float(input("Quel est le montant du prêt ? "))
tauxcrédit= float(input("Quel est le taux d'intérêt ? "))
duréecrédit=int(input("Quelle est la durée du crédit en mois ? "))
intérêtmensuel=(montantcrédit*(tauxcrédit/100)/12)
intérêtannuel=(montantcrédit*(tauxcrédit/100))
présencedifféré= input("Y a-t-il un différé ? ")
if présencedifféré=="o":
typedifféré=input("le différé est-il partiel ou total (p/t) ? ")
duréedifféré=int(input("Merci d'indiquer la durée du différé "))
duréecrédit=int(duréecrédit)-int(duréedifféré)
if typedifféré =="p":
print("\n\nla mensualité du différé partiel est de " + ("{:,.2f}".format(intérêtmensuel).replace(',', ' ').replace('.', ',')) + " euros durant " + str(duréedifféré) + " mois")
elif typedifféré == "t":
indexdifféré=int((duréedifféré)/12)
for i in range (1, indexdifféré + 1):
intérêtannuel = (montantcrédit * (tauxcrédit / 100))
montantcrédit=montantcrédit + intérêtannuel
print("\n\ndifféré total durant " + str(duréedifféré) + " mois")
mensualitéamortissement= ((montantcrédit * (tauxcrédit/100))/12)/(1-(1+((tauxcrédit/100)/12)) **-(duréecrédit))
print("La mensualité d'amortissement est de " + ("{:,.2f}".format(mensualitéamortissement).replace(',', ' ').replace('.', ',')) + " euros durant " + str(duréecrédit) + " mois")
https://www.zupimages.net/up/21/08/zark.png
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
5
>
Utilisateur anonyme
25 févr. 2021 à 08:34
25 févr. 2021 à 08:34
Désolé, en plus d'être un noob, je suis un boulet !!!
J'ai corrigé.
J'ai corrigé.
jee pee
Messages postés
40958
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 mars 2025
9 568
24 févr. 2021 à 19:04
24 févr. 2021 à 19:04
Tu as oublié les balises code du forum.
Zut, à la seconde ligne ça plante :
tu n'as pas réglé la saisie de la virgule
Zut, à la seconde ligne ça plante :
Quel est le taux d'intérêt ? 1,25
Traceback (most recent call last):
File "D:\Dev\Python\Exe\ccm\interet.py", line 5, in <module>
tauxcrédit= float(input("Quel est le taux d'intérêt ? "))
ValueError: could not convert string to float: '1,25'
tu n'as pas réglé la saisie de la virgule
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
5
25 févr. 2021 à 08:39
25 févr. 2021 à 08:39
Oui, il faut mettre un point. Le tout est de le savoir sinon ça plante.
jee pee
Messages postés
40958
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 mars 2025
9 568
>
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
25 févr. 2021 à 09:39
25 févr. 2021 à 09:39
tu mets des accents dans les noms de variables, une virgule dans l'affichage du montant du remboursement, mais la virgule ne fonctionne pas dans la saisie, ce n'est pas cohérent ;-)))
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
5
>
jee pee
Messages postés
40958
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 mars 2025
25 févr. 2021 à 13:34
25 févr. 2021 à 13:34
Ce n'est pas si important pour moi. Ma problématique résidait surtout dans la restitution des nombres. Je dirais même que l'utilisation du point situé dans le pavé numérique facilite la saisie des nombres.
Apparemment, comme le dit Phil, c'est une question culturelle.
Merci à tous en tous cas et à la prochaine.
Apparemment, comme le dit Phil, c'est une question culturelle.
Merci à tous en tous cas et à la prochaine.
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
>
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
Modifié le 25 févr. 2021 à 16:39
Modifié le 25 févr. 2021 à 16:39
Oui mais quand même, Phil il dit aussi que les accents dans les noms de variables, c'est plutôt vilain
Et pour tes saisies tu aurais pu faire ça:
etc ..
Et pour tes saisies tu aurais pu faire ça:
def get_float(s): if(',' in s): s = s.replace(',','.') return(float(s)) montant_credit = get_float(input('Quel est le montant du prêt ? : '))
etc ..
jipi10
Messages postés
34
Date d'inscription
samedi 15 août 2020
Statut
Membre
Dernière intervention
5 février 2024
5
25 févr. 2021 à 08:33
25 févr. 2021 à 08:33
import locale locale.setlocale(locale.LC_ALL, '') montantcrédit= float(input("Quel est le montant du prêt ? ")) tauxcrédit= float(input("Quel est le taux d'intérêt ? ")) duréecrédit=int(input("Quelle est la durée du crédit en mois ? ")) intérêtmensuel=(montantcrédit*(tauxcrédit/100)/12) intérêtannuel=(montantcrédit*(tauxcrédit/100)) présencedifféré= input("Y a-t-il un différé ? ") if présencedifféré=="o": typedifféré=input("le différé est-il partiel ou total (p/t) ? ") duréedifféré=int(input("Merci d'indiquer la durée du différé ")) duréecrédit=int(duréecrédit)-int(duréedifféré) if typedifféré =="p": print("\n\nla mensualité du différé partiel est de " + ("{:,.2f}".format(intérêtmensuel).replace(',', ' ').replace('.', ',')) + " euros durant " + str(duréedifféré) + " mois") elif typedifféré == "t": indexdifféré=int((duréedifféré)/12) for i in range (1, indexdifféré + 1): intérêtannuel = (montantcrédit * (tauxcrédit / 100)) montantcrédit=montantcrédit + intérêtannuel print("\n\ndifféré total durant " + str(duréedifféré) + " mois") mensualitéamortissement= ((montantcrédit * (tauxcrédit/100))/12)/(1-(1+((tauxcrédit/100)/12)) **-(duréecrédit)) print("La mensualité d'amortissement est de " + ("{:,.2f}".format(mensualitéamortissement).replace(',', ' ').replace('.', ',')) + " euros durant " + str(duréecrédit) + " mois")