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

如何在python中为指定数量的字符格式化输出,python,formatting,string-formatting,Python,Formatting,String Formatting,我想打印多个表 下面是我用来打印的行 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)) 但是它不起作用。您以前尝试过创建格式字符串吗 multiplicand,i = 50,2 result= multiplica

我想打印多个表

下面是我用来打印的行

 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))

但是它不起作用。

您以前尝试过创建格式字符串吗

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))

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

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

str.format();只需为要用格式值填充的参数使用另一个占位符:

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