2017-10-04 15 views
0

私は、出力は次のようになります番号を持つ単純な三角形の形状、生成しようとしている。しかし、私はこれは、ネストされた文字列で動作するように取得することはできませんPythonの3ネスティング文字列の形式

1 
22 
333 

を形式では、私が達成できる最高のものは次のとおりです。

 for i in range(1, size+1):  
      line = f'{i}' *i 
      print(f"{line:>{size}}") 

理想的には、私は印刷方法の中にネストされた「線」を持っていたいと思います。助言がありますか?

+0

あなたが何を求めているのか分かりません。印刷メソッド内にネストされた "行"はどういう意味ですか? – OldGeeksGuide

答えて

1

"ネスト"形式の文字列を2回フォーマットする必要があります。 2回目に保持したい中かっこは最初にエスケープする必要があります。したがって、{{{になり、}}}になります。また、f接頭辞を2回使用することはできませんので、2番目の書式にはformatを明示的に呼び出すことができます。

は何あなたが探しているのはこれです:

for i in range(1, size + 1): 
    line = f"{i}" * i 
    print(f"{{0:>{size}}}".format(line)) 

だから、最初の文字列の書式は、このようにあなたは基本的にprint("{0:>3}".format(line))を得るformatの明示的な呼び出しに到達したときに、{0:>3}f"{{0:>{size}}}"なります。

+0

ありがとう、@Hetzroni :) –

関連する問題