将我的输入调整到右边 - python

Adjust my input to the right - python

我正在尝试调整 python 中的文本,以便将输入调整到右侧。我希望输入中的最后一个字符位于第 60 个位置。因此,我使用了以下脚本:

def adjust_right(s):
    print(' '*60 - len(s)*' '+s)

adjust_right(input())

如果我将 - 更改为 +,这会起作用,但相反。

我的问题是:当它与 + 而不是 - 完美配合时,为什么会产生错误?

答案可能是,如果 len(s) > 60,我们会得到负数的空格吗?如果是这种情况,我应该如何重写我的代码?

我想你的意思是:

print(' '*(60 - len(s))+s)

您正试图从另一串空格中减去一串空格。 + 起作用的原因是它连接字符串。但是 Python 没有字符串减法。

Python 没有字符串减法。 (这是因为它被认为是 "unpythonic" - 大多数像这样的操作都是语法 sugar/syrup,可以由程序员轻松完成,或者具有执行操作的功能)

你应该使用 ' '*60.strip(len(s)*' ')。这将从 ' '*60 中减去 len(s)*' '。如果不能,它什么也做不了。

由于操作顺序,您正在减去字符串,以避免这种情况:

print(s.rjust(60)) # right justify string with length = 60