Problème d'interprétation dans un programme Python
Résoluzane-4457 Messages postés 7 Statut Membre -
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
- Programme demarrage windows - Guide
- Citizen code python avis - Accueil - Outils
- 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 ? : '))