如何在python中为指定数量的字符格式化输出

2024-06-02 07:17:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想打印多张表

下面是我用来打印的行

 print ("%d\t*\t%d\t=\t%2d"%(multiplicand,i,result))

如何从变量中指定或传递值,例如2。你知道吗

我试过这样的方法

max_len = len(maxresult)
print ("%d\t*\t%d\t=\t%" +max_len+"d"%(multiplicand,i,result))

但没用。你知道吗


Tags: 方法lenresultmaxprintmaxresultmultiplicand
2条回答

您以前尝试过创建格式字符串吗?你知道吗

multiplicand,i = 50,2
result= multiplicand *i
max_len = 2

format = "%d\t*\t%d\t=\t%" +str(max_len)+ "d"
print (format % (multiplicand,i,result))

您可以使用*格式化程序从输入中获取大小

multiplicand, i = 50, 2
result= multiplicand * i
max_len = len(str(result))

format = "%d\t*\t%d\t=\t%*d"
print(format % (multiplicand, i, max_len, result))

%*d中的*长度说明符采用元组中的下一个值作为长度说明符。请注意,这是一个最小长度,而不是最大长度。你知道吗

str.format()格式化操作允许您对任何参数执行此操作,而不仅仅是长度;只需对要用格式化值填充的参数使用另一个占位符即可:

format = "{:d}\t*\t{:d}\t=\t{:{}d}"
print(format.format(multiplicand, i, max_len, result))

相关问题 更多 >