调整我的输入到右边 - python

时间:2015-03-21 19:27:43

标签: python function adjustment

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

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

adjust_right(input())

如果我将-更改为+,则会有效,但情况相反。

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

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

3 个答案:

答案 0 :(得分:0)

我认为你的意思是:

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

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

答案 1 :(得分:0)

您需要根据操作顺序减去字符串,以避免这种情况:

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

答案 2 :(得分:-1)

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

您应该使用' '*60.strip(len(s)*' ')。这将从len(s)*' '开始' '*60。如果它不能,它将不会做任何事情。