Ok, c'est assez élégant comme approche effectivement.
Maintenant je me pose aussi des questions sur la manière d'aborder l'enseignement (en fait, je pense qu'il faudrait que ça soit pas le prof de maths qui fasse ça mais bon, on va pas trop en demander) de Python:
Je pense qu'il est assez pertinent dans un premier temps de fabriquer une version fonctionnelle d'un programme utilisant les bases du langage (déclaration de variables principalement) mais sans trop de technicité (déjà comprendre l'indentation, la déclaration, le while, ça me paraît beaucoup pour des 2nd)
En d'autres termes, mettre sur papier les objectifs du programme et ses étapes :
Je dois récupérer les variables
Je dois tester que
Je dois faire en sorte que
J'obtiens
ça c'était notre première version pour trouver la réponse (sans se soucier d'erreurs d'entrées et d'incohérence)
print ("prix du vehicule essence ?") #On récupère les variables de l'exercice
p1= float(input())
print ("prix du vehicule diesel ?")
p2= float(input())
print ("consommation mixte essence?")
c1= float(input())
print ("consommation mixte diesel?")
c2= float(input())
print ("tarif du diesel?")
D= float(input())
print ("tarif de l'essence?")
E= float(input())
print ("entrer le pas a tester en km")
P= float (input()) #Le pas à définir par l'utilisateur : 1 sera long mais précis, 100 sera rapide mais imprécis.
M=0 #On initialise
K=p1 #On définit K et L comme les prix totaux des véhicules (qui, à l'achat, sont égaux au prix d'achat)
L=p2
while L>K: #Tant que la valeur cumulée du diesel est > à celle de l'essence
K=p1+c1*M*E/100 #On recalcule K et L (première boucle pour m=0)
L=p2+c2*M*D/100
M+=P #On incrémente M du pas P définis dans la première partie
print (M) #cette ligne ici affiche une ligne par calcul ce qui peut faire beaucoup de lignes
Et moi dans mon esprit après ça j'ai tenté de chercher les pistes d'amélioration et de monter en compétence pour les gérer et améliorer le code.
En fait la question : est-ce une approche pertinente pour apprendre (et aider à apprendre) le Python ou alors vaut-il mieux chercher tout de suite l'élégance et le moins de code possible ?
Gros débat
En tout cas, merci pour vos participations, déjà j'ai compris toutes les propositions faites, preuve que mon apprentissage avance ... !
Mon groupe de formation contient une majorité de collègues >45 ans qui regardent l'apparition de cet aspect de programmation et d'algorithmie d'un mauvais oeil, mais moi je suis bien content, ça me permet de travailler un domaine sympa et stimulant ^^