我有一个功能齐全的秒表程序。我要做的就是格式化输出以使其对齐。
这是尝试编辑之前的代码部分:
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'
答案 0 :(得分:1)
ljust
和center
是字符串方法。在调用这些方法之前,必须将值转换为字符串:
print ('Lap ', str(lapNum).ljust(10, ' '), ':', str(totalTime).center(20, ' '))
您还可以使用str.format
和format options:
print ('Lap {:<10}: {:=20}'.format(lapNum, totalTime))
# output: Lap 1 : 1557332386
使用str.format
隐式转换为字符串。