试图调整,居中和调整秒表的输出

时间:2019-05-08 16:09:24

标签: python

我有一个功能齐全的秒表程序。我要做的就是格式化输出以使其对齐。

这是尝试编辑之前的代码部分:

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

这是对齐输出的尝试之一:

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

我遇到了错误:

 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 个答案:

答案 0 :(得分:1)

ljustcenter是字符串方法。在调用这些方法之前,必须将值转换为字符串:

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

您还可以使用str.formatformat options

print ('Lap {:<10}: {:=20}'.format(lapNum, totalTime))
# output: Lap 1         :           1557332386

使用str.format隐式转换为字符串。