Problème d'interprétation dans un programme Python

Résolu

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

3 réponses

  1. Contributeur

    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)
    1. 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 ? : '))
      1. Merci , c'est vrai que c'est mieux

    2. Modérateur

      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


      1. Salut jeepee,

        en effet le commentaire est incorrect, mais à la ligne 8, t1 est initialisée avec la bonne valeur.