在python中使用预先计算的空间填充

时间:2017-09-07 01:52:10

标签: python padding

在C#中我会这样:

string num1 = "15000";
string num2 = "800";

int a = num1.Length;
int b = num2.Length;
int required_space = a - b;

string input_space = new string(' ', required_space -1);

Console.WriteLine(num1);
Console.WriteLine("{0}{1}{2}", input_space, "+", num2);

我会得到:

            15000
             +800
无论num1的长度如何,

最后一位数字对齐。

我如何在Python中做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以使用string.rjust()使用num1的宽度右对齐第二个数字:

num1 = '15000'
num2 = '800'

print(num1)
print('+{}'.format(num2).rjust(len(num1)))

答案 1 :(得分:0)

numbers = [1, 2, 3, 40, 50, 100, 9001, 10]
max_len = len(str(max(numbers)))

for number in numbers:
    print(f'And the number is: { number :>{ max_len }} !')

f''是一个特殊的字符串文字,支持此处描述的大多数格式选项:https://docs.python.org/3.4/library/string.html#formatspec