Chr(13) python

  • Auteur de la discussion Bambi-sauvage
  • Date de début
B
Bambi-sauvage
Anonyme
Salut, je débute en python dinc je m'y connais pas trop mais j'ai fait un algorythme où l'utilisateur doit entrer une réponse à une question donnée dans un temps limité.
Pour ça je créé moi même le timer mais l'affichage avec chr(13) n'est pas correct.
Pour ceux qui ne savent pas si je fait l'algorithme affiche:
Code:
for x in range(10):
     Print(x)
1
2
3
[...]
9

Et si je fait:
Code:
for x in range(10):
     Print(chr(13), x)

j'obtient à la fin de l'exécution:
9
Chr(13) permet de revenir au début de la ligne plutôt que d'aller à la ligne.

Voilà mon code avec le chrono seulement.
Code:
import time
a=10
For x in range(11)
     Print(chr(13), a)
     Time.sleep(0.01)
     a=a-0,01

c'est très simple, sauf que lors du décompte je ne vois pas "9,99 puis 9,98..."
Je vois un truc similaire à ça:
9,990000000099
9,980000000098
...
Savez vous ce à quoi c'est du ?
Savez vous comment y remédier ?
Merci
 
Solution
M
chr(13)&chr(10)

le chr(10) permet un retour chariot et le chr(13) un retour à la ligne. Ca peut paraitre identique, mais les programmes comprennent, lorsque tu ajoutes le chr(13) et le chr(10) d'aller physiquement à la ligne
M
Membre supprimé 932
Anonyme
chr(13)&chr(10)

le chr(10) permet un retour chariot et le chr(13) un retour à la ligne. Ca peut paraitre identique, mais les programmes comprennent, lorsque tu ajoutes le chr(13) et le chr(10) d'aller physiquement à la ligne
 
M
Membre supprimé 932
Anonyme
la virgule, dans ton print ça permet de formater ta phrase
essaye plutot un truc du genre :
chaine$ = string(a) & chr(10) & chr(13)
print chaine$
 
M
Membre supprimé 932
Anonyme
dans la documentation python, intéresses-toi à la manipulation des chaines de caractères. Tu verras, tu comprendras mieux comment sont interprétés les mots, les chiffres, les dates, les entiers, les décimaux, les entiers longs, les nombres négatifs, etc
 
B
Bambi-sauvage
Anonyme
Ok merci.
Donc si je fait:
Code:
print(a & chr(10) & chr(13))
c'est bon ?
Par contre j'ai pas compris pourquoi tu met string(a)
a est un entier
 
M
Membre supprimé 932
Anonyme
Normalement tu peux écrire effectivement directement print à
Parfois, tu es obligé de transformer le nombre en chaîne pour une manipulation facile.