0

有没有一些简单的命令或方式——我们称之为\magic——这样有

print('Hello!\magicHello!')

产生以下

Hello!
      Hello!

也就是说,它使下一行精确缩进到上一行的末尾?

非常感谢!

4

2 回答 2

3

您可以通过在函数中包装字符串来做到这一点:

def magic(s):
    res, indent = [], 0
    for part in s.split('\magic'):
        res.append(' ' * indent + part)
        indent += len(part)
    return '\n'.join(res)

print magic('Hello!\magicHello!')

产生:

Hello!
      Hello!
于 2013-07-31T19:44:11.013 回答
1

有一个制表符(“\t”),你可以用对齐和填充来做各种各样的事情,但我认为没有一种方法可以获得你想要的精度而不是比简单的更麻烦解决方案:

printstring = "Hello!"
print(printstring+"\n"+len(printstring)*" " + printstring)

编辑:

如果您有想要以这种方式打印的单词列表,您可以执行以下操作:

words = ["This", "is", "a", "test"]
for i in range(len(words)):
    print(sum([len(w) for w in words[:i]])*" " + words[i])

这有点麻烦,但它应该可以工作。

于 2013-07-31T19:32:46.710 回答