输入正整数n以及n个文件名,排序后按列优先的方式左对齐输出。假设最长文件名有M字符,则最右边有M字符,其他列都是M+2字符。
1.左对齐:可以使用string.ljust(width)方法
代码如下:
n=int(input())
list1=[x for x in input().split(' ')]
list1.sort()
M=0
for i in list1:
m=0
for j in i:
m+=1
if m>M:
M=m
maxcol=60 #规定一行的最大长度
cols = (maxcol - M)//(M+2)+1 #减去不一样长的最后一行,得到可以排多少列
row = (n-1)//cols+1 #可能不能整除
print('_'*60)
c=0
for a in range(row):
print(list1[c].ljust(M+2),end='')
d=c+row
while d<len(list1):
if d+row>len(list1):
print(list1[d].ljust(M),end='')
break
print(list1[d].ljust(M+2),end='')
d+=row
c+=1
print()
运行结果: