这也是我在做课设的时候遇到的一个小问题,当时需要实现对齐输出,不然显得很杂乱。不过当时并没有发现这个功能(我学艺不精,我三脚猫 哈哈),所以用了很弱智的方法:for循环【当输出的字符串小于特定长度的时候,给他后面补空格】。这个方法虽然可行,但是实在是mdzz。所以,我在这里记录一下最近发现的一个新方法:
首先,先来看一下Python格式化输出的语句:
str1 = 'a'
str2 = 'b'
print(f"{str1} and {str2}") #输出 a and b
当时课设里是需要输出每天的支出情况,直接输出大概是这样的:
很明显,不对齐看着很难受,所以就要用到格式化字符串来控制它的输出的最小长度。
方法是:在格式化字符串语句的大括号内加上一个 冒号“:”, 后面跟上希望输出的最小长度即可。
这样输出的时候,(注意这里针对大括号里的是字符串)当字符串本身长度小于设置的最小长度时,就会通过在右边自动添加空格来补齐长度。
如果格式化的大括号中的内容是数字,直接在后面加冒号和表示最小长度的数字的时候,是在输出的数字左边补空格补齐长度。我们也可以在表示最小长度的数字前面加一个0,表示用0来补齐长度,此时的0也是补在左边的。
不理解的话看下面这个例子:
arr1 = ['1月1日','2月12日','11月11日','12月12日']
arr2 = [13,32,11234,1234]
for i in range(0,4):
print(f'{arr1[i]:10}消费 {arr2[i]:5}元') #字符串右边加空格补齐,数字左边加空格补齐
print('-----------分割线---------------')
for i in range(0,4):
print(f'{arr1[i]:10}消费 {arr2[i]:05}元') #在数字左边加0补齐
输出:
这样就好卡hin多了^_^