Python encore ....

Fermé
Crazy Man III Messages postés 14 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 11 novembre 2010 - 12 déc. 2004 à 20:31
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 - 12 déc. 2004 à 22:42
Bonjour à tous. Voilà un programme que j'ai fait ( mais ne marche pas ) suposé convertir un nombre de secondes en minutes et secondes

>>> a, b, c, d, e = 3678, 60, 1, 1, 1,
>>> if e < 2:
print c, d,
a, b, c, d, e = 3678, a%b, a/60, b, e+1,

#Résultat 1, 1

Ma logique ? Eh bien a garde sa valeur, b est le reste de a/60 ( c-à-d 18 ) C c'est a / 60 , d c'est b ( 18 donc ) et e c'est le compteur.

Pourquoi ça marche pas ? Merci
A voir également:

3 réponses

kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
12 déc. 2004 à 21:28
Salut,

Qu'est ce qui ne marche pas?
Tu demandes à l'interpreteur d'afficher les premières valeurs de c et d donc il n'affichera que 1 et 1. :-)


var a=unescape("%3A-%29");
document.write(a);
0
Crazy Man III Messages postés 14 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 11 novembre 2010
12 déc. 2004 à 21:59
a, b, c, d, e = 3600, 60, 1, 1, 1,
if e < 2:
a, b, c, d, e = 3674, a%b, c/60, b, e+1
print c, d,

J'ai essayé ça et ça ne marche pas plus..... purtant d = valeur de b ( 14 ) et c = c/60 ( 61 )

Que diable faut-il écrire pour que ça fonctionne ? :-)

Merci
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
12 déc. 2004 à 22:42
'soir

J'essaie pas de comprendre ce que tu veux faire parce que je suis un peu fatigué. :-)
Mais tu demandes d'afficher c et d qui sont l'equivalent de 1/60 et 60.
Donc tu auras à l'écran 0 et 60.

Pourquoi tu as 0? C'est parce que c=1 est considéré comme un entier. Donc si tu le divises par 60, l'interpreteur ne te donnera pour resultat qu'un entier donc 0.

Il faut que tu affectes 1.0 à la place de 1 pour que Python considère c comme une variable "float" (nombre à virgule flottante).

Ca nous donne:
c=1.0
print c/60


Resultat: >>0.0166666666667 :-)



var a=unescape("%3A-%29");
document.write(a);
0