1 Question: Essayer de régler, centrer et ajuster la sortie du chronomètre

question créée à Wed, May 8, 2019 12:00 AM

J'ai un programme chronomètre entièrement fonctionnel. Tout ce que j'essaie de faire est de formater la sortie à aligner.

C’était une partie du code avant d’essayer d’éditer:

 lapTime = round(time.time() - lastTime, 2)
 totalTime = round(time.time() - startTime, 2)
 print ('Lap #%s: %s (%s)' % (lapNum, totalTime, lapTime), end='')

C’est l’une des tentatives d’alignement de la sortie:

 print ('Lap ', lapNum.ljust(10, ' ')), ':',totalTime.center(20, ' '), 
 lapTime.rjust(30, ' '))

Je reçois le message d'erreur:

 File "D:/stopwatch2.py", line 19, in main
     print ('Lap ' + str(lapNum.ljust(10, ' ')), ':',totalTime.center(40, 
 ' '), lapTime.rjust(50, ' '))
 AttributeError: 'int' object has no attribute 'ljust'
    
- 1
  1. L'erreur est assez lisible. Et vous avez posté un code différent de celui que vous avez exécuté.
    2019-05-08 16: 16: 50Z
1 Réponses                              1                         

ljust et center sont des méthodes de type chaîne. Vous devez convertir la valeur en chaînes avant d'appeler ces méthodes:

print ('Lap ', str(lapNum).ljust(10, ' '), ':', str(totalTime).center(20, ' '))

Vous pouvez également utiliser 0600350991111101035062 et les options de format : str.format

Avec

print ('Lap {:<10}: {:=20}'.format(lapNum, totalTime))
# output: Lap 1         :           1557332386
, la conversion en chaîne est implicite.     
1
2019-05-08 16: 15: 11Z
  1. Oh, merci beaucoup! J'ai essayé de le convertir en chaîne mais mon problème était littéralement juste un paren merci!
    2019-05-08 16: 33: 32Z
str.format
source placée ici