首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制台打印输出美化

控制台打印输出美化
EN

Stack Overflow用户
提问于 2021-11-22 08:39:52
回答 2查看 26关注 0票数 0

我在控制台中有一个输出。不幸的是,文本的长度不同,因此看起来非常不同。是否有一个选项可以将文本写在另一个下面,而不管前面有多少个字符,以便输出看起来像我想要的那样?

我不想使用另一个库来做这件事。

代码语言:javascript
复制
print(65 * '_')
print('algorithm\t\t\tsil\t\tdbs')

results =  ['Agglomerative Clustering', 0.8665, 0.4200]
formatter_result = ("{:9s}\t\t{:.4f}\t{:.4f}")
print(formatter_result.format(*results))
    
results = ['k-Means', 0.9865, 0.1200]
formatter_result = ("{:9s}\t\t{:.4f}\t{:.4f}")
print(formatter_result.format(*results))

print(65 * '_')

我所拥有的

代码语言:javascript
复制
_________________________________________________________________
algorithm           sil     dbs
Agglomerative Clustering        0.8665  0.4200
k-Means         0.9865  0.1200
_________________________________________________________________

我想要的

代码语言:javascript
复制
_________________________________________________________________
algorithm                    sil        dbs
Agglomerative Clustering     0.8665     0.4200
k-Means                      0.9865     0.1200
_________________________________________________________________

我看了看Printing Lists as Tabular Data,试了试,但对我不起作用

代码语言:javascript
复制
print(65 * '_')

heading = ['algorithm', 'sil', 'dbs']
result1 =  ['Agglomerative Clustering', 0.8665, 0.4200]
result2 = ['k-Means', 0.9865, 0.1200]
ab = np.array([heading, result1, result2])
for row in ab:
    print("{: >20} {: >20} {: >20}".format(*row))
    



print(65 * '_')
_________________________________________________________________
           algorithm                  sil                  dbs
Agglomerative Clustering               0.8665                 0.42
             k-Means               0.9865                 0.12
_________________________________________________________________
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-22 08:47:49

你可以使用{:<20},这意味着20个空格与左对齐。还有右中心对齐和{:>20}- {:^20}对齐。

要将其与.4ffloat表示法结合使用,只需添加:{:<20.4f}

试试这个:

代码语言:javascript
复制
print(65 * "_")
formatter_result = "{:<35} {:<20} {:<20}"
formatter_result_f = "{:<35} {:<20.4f} {:<20.4f}"
print(formatter_result.format(*["algorithm", "sil", "dbs"]))
results = ["Agglomerative Clustering", 0.8665, 0.4200]
print(formatter_result_f.format(*results))
results = ["k-Means", 0.9865, 0.1200]
print(formatter_result_f.format(*results))
print(65 * "_")

结果:

代码语言:javascript
复制
_________________________________________________________________
algorithm                           sil                  dbs                 
Agglomerative Clustering            0.8665               0.4200              
k-Means                             0.9865               0.1200              
_________________________________________________________________
票数 1
EN

Stack Overflow用户

发布于 2021-11-22 08:46:29

您好,您必须移除一些标签,\t因为它们会创建选项卡,您可以逐个移除它们以找到您喜欢的标签

打印(‘例如,这是一个制表符\t\t\t它们之间将有空格’)

打印(‘例如,这里没有制表符,它将彼此相邻’)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70062968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档