Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2838 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  problème programmation Python

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème programmation Python

n°2203166
sakojim
Posté le 16-09-2013 à 18:54:51  profilanswer
 

Bonjour à tous,
 
je suis novice en programmation Python (et en programmation tout court) et je sollicite votre aide afin d'arriver à écrire un programme Python permettant de calculer le temps écoulé entre deux horaires saisis au clavier par l'utilisateur ; les horaires seront saisis au format (heures, minutes, secondes) et le résultat sera affiché en secondes et au format (heures, minutes, secondes).
 
J'aimerais votre avis sur une stratégie (TRES SIMPLE) pour programmer ceci.
 
Sur  Python 2.7
 
merci d'avance

mood
Publicité
Posté le 16-09-2013 à 18:54:51  profilanswer
 

n°2203174
masklinn
í dag viðrar vel til loftárása
Posté le 16-09-2013 à 19:24:33  profilanswer
 

Oui, quelle est la stratégie très simple sur laquelle tu voudrais des avis?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2203177
sakojim
Posté le 16-09-2013 à 19:31:58  profilanswer
 

J'aimerais que l'on me donne des idées :)
 
sinon j'ai pensé à ceci :
 
a = input("heures,minutes,secondes" )
b = input("heures',minutes',secondes'" )
 
puis définir heures,minutes,secondes comme des nombres entiers
 
puis créer une variable c = a-b mais des problèmes surgissent assez vite à cette option ...

n°2203181
masklinn
í dag viðrar vel til loftárása
Posté le 16-09-2013 à 19:45:54  profilanswer
 

sakojim a écrit :

J'aimerais que l'on me donne des idées :)


Ça c'est pas une option, les règles l'interdisent. On peut faire de la revue de code, on peut examiner et critiquer les idées que tu proposes, mais on ne peut pas faire ton boulot pour toi.

sakojim a écrit :

sinon j'ai pensé à ceci :

 

a = input("heures,minutes,secondes" )
b = input("heures',minutes',secondes'" )


Tu es sous Python 2 ou Python 3? Parce que sous Python 2 il faut utiliser raw_input

sakojim a écrit :

puis définir heures,minutes,secondes comme des nombres entiers


C'est à dire?

sakojim a écrit :

puis créer une variable c = a-b mais des problèmes surgissent assez vite à cette option ...


Tu as pensé à regarder dans la librairie standard s'il y a des trucs pour manipuler des temps ou des dates? C'est généralement un bon départ.


Message édité par masklinn le 16-09-2013 à 19:46:32

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2203184
sakojim
Posté le 16-09-2013 à 19:54:29  profilanswer
 

je corrige : je suis sur Python 3.3 et non 2.7
 
concrètement, après cette étape :  
a = input("heures,minutes,secondes" )  
b = input("heures',minutes',secondes'" )
 
je me retrouve avec a = (h,m,s) et b = (h',m',s')
mais je sais qu'il est impossible de faire une opération du genre : c=(h+h',m+m',s+s')
 
je suis dans l'incapacité d'avoir accès à la librairie standard
 
 

n°2203185
masklinn
í dag viðrar vel til loftárása
Posté le 16-09-2013 à 19:55:56  profilanswer
 

sakojim a écrit :

je me retrouve avec a = (h,m,s) et b = (h',m',s')


J'en doute.

sakojim a écrit :

mais je sais qu'il est impossible de faire une opération du genre : c=(h+h',m+m',s+s')


Et donc?

sakojim a écrit :

je suis dans l'incapacité d'avoir accès à la librairie standard


Pardon?
 
 
 


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2203301
fred1599
Posté le 17-09-2013 à 15:34:13  profilanswer
 

Pour faire court, python permet d'éviter de réinventer la roue. Un module permet de faire des opérations sur des temps.

 
Code :
  1. >>> from datetime import timedelta as td
  2. >>> start = td(hours=15, minutes=25, seconds=0) # 15h25m0s
  3. >>> stop = td(hours=15, minutes=27, seconds=35) # 15h27m35s
  4. >>> stop-start # différence entre les deux temps
  5. datetime.timedelta(0, 155)
  6. >>> (stop-start).total_seconds() # valeur en secondes
  7. 155.0
 

Bonne continuation...


Message édité par fred1599 le 17-09-2013 à 15:43:00
n°2214036
artscoop
la fin des temps
Posté le 18-12-2013 à 21:27:35  profilanswer
 

fred dit vrai, et même mieux, il existe des fonctions qui prennent une date entrée sous forme de chaîne pour la transformer en objet datetime.
faut voir dans les environs de strptime et tout le tintouin :
http://docs.python.org/2/library/d [...] e-behavior


---------------
Site de rencontre

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  problème programmation Python

 

Sujets relatifs
[EXCEL] Impression d'une zone variable (problème de Range) [Résolu]code du problème en c++
[ASP.NET] Modifier contenu page web sans programmationProblème lors de la modification des droits NTFS par vba
Requêtes web et (peut être !) PythonProblème avec Typeahead
[Ada][Débutant POO] Problème d'héritage à l'instantiation d'un paquetProblème avec jdk 1.8
Problème reception données port serieComment débuter la programmation, pour un enfant ?
Plus de sujets relatifs à : problème programmation Python


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR