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 に答える