Problème d'interprétation dans un programme Python
Résoluzane-4457 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
(je suis débutant dans Python)
dans le programme suivant , l'utilisateur indique combien de temps a duré sa douche , le programme fait un calcul et renvoie le résultat dans une phrase .
Problème : lorsque l'utilisateur tape 1.5 , le programme comprend une minute plus la moitié d'une autre minute , ce que je souhaite c'est que le programme comprenne par "1.5" une minute et cinquante secondes .
Merci et veuillez m'excuser si la réponse est évidente .
# 6 litres = 1 minute # 1 litre = 10 secondes # 1 litre = 0.1933 minute t1 = 0.166667 # t1 est le temps qu'il faut à la douche pour remplir 1 litre d'eau . t2 = input("Combien de minutes a duré votre douche ?") # t2 est le temps pendant lequel l'eau a coulé , la réponse donnée par l'utilisateur est au format string . t3 = float(t2) # On utilise t3 pour transformer la réponse donnée dans t2 ( qui est au format string ) en un nombre à virgule (float) . l1 = t3/t1 # l1 est le nombre de litres utilisés pendant la douche l7 = round(l1, 2) l6 = (str(l7)) print('Vous avez utilisé '+ l6 + " litres d'eau ")
Windows / Chrome 110.0.0.0
- Problème d'interprétation dans un programme Python
- Citizen code python avis - Accueil - Outils
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
3 réponses
bonjour, un exemple:
x=input("Combien de minutes a duré votre douche ?") m,p=x.split(".") s=int(p)*10 mins=int(m)+s/60 print (mins)
Bonjour,
Le mieux serait de saisir un format plus explicite comme mm:ss 1:50, puis de découper les 2 membres, pour calculer un nombre de minutes avec des centièmes, on sait alors ce que l'on traite.
Après tu peux convertir ton t3
t3 = (t3-t3%1) + (t3%1 * 100/60)
ainsi 1.15 mm.ss devient 1.25 en centième de minutes et tes calculs peuvent opérer
par contre ton # 1 litre = 0.1933 minute en centième de minutes, n'est pas correct 0:10 # 1 litre = 0.166666 minute en centièmes
Bonjour,
Tu peux simplifier:
t2 = input("Combien de minutes a duré votre douche ?") # t2 est le temps pendant lequel l'eau a coulé , la réponse donnée par l'utilisateur est au format string . t3 = float(t2) # On utilise t3 pour transformer la réponse donnée dans t2 ( qui est au format string ) en un nombre à virgule (float) .
comme ceci:
t3 = float(input('Durée de ta douche ? : '))