首页 > 解决方案 > 我无法水平打印

问题描述

我想做一个图书目录,输出是水平打印,每3本书换行。我知道我们可以使用以下方法进行水平打印:

end = ""

但这只适用于 1 行。由于我的输出有 3 行,如 Title、ISBN、Price,如果我使用 end = "",它无法完成。

下面是我的代码

line_format = "{:50s} \n{:6s} - {:13s} \n{:11s}"
    books = db.get_books(kel)
    for book in books:
        print((line_format.format(str(book.title),
                                 str(book.isbn),
                                 "Rp. {:,}".format(book.price).replace(",","."))))

我得到的是:

Deaver - Never Game  A/UK                          
9780008303778 
Rp. 161.000
Poirot - DEATH ON THE NILE (Exp]                   
9780008328948 
Rp. 28.000 
Alchemist - 25th Anniv ed                          
9780062355300 
Rp. 160.000
Finn- Woman in the Window [MTI]                    
9780062906137 
Rp. 162.000
Mahurin- Blood & Honey                             
9780063041172 
Rp. 62.000 

我想要的输出是:

Deaver - Never Game     DEATH ON THE NILE (Exp]  Alchemist                          
9780008303778           9780008328948            9780062355300 
Rp. 161.000             Rp. 28.000               Rp. 160.000

Woman in the Window     Blood & Honey
9780062906137           9780063041172 
Rp. 162.000             Rp. 62.000 

标签: pythonprinting

解决方案


推荐阅读