python実戦17 n層ピラミッドを印刷

4799 ワード

タイトル内容:
nレイヤを印刷(1)
注意:各行の+番号の後にスペースはありません.最後の行にはスペースはありません.
入力形式:
正の整数n(1
出力フォーマット:
+号からなるn層ピラミッド
サンプルを入力:
3出力サンプル:
  +
 +++
+++++

My answer考え方1:簡単そうに見えます.3を例にとると、1行目は(3-1)=2個のスペース+1個'+'、2行目(3-2)=1個のスペース+3個'+'、3行目(3-3)=0個のスペース+5個'+'...
n = int(input())
for i in range(1, n + 1):
    s = n-i
    print(' ' * s + '+' * (i*2-1))

考え方2:strの方法を知っていればcenter()とrstrip()は大きくて大きいです.
n = int(input())
for i in range(n):
    print(('+'*(i*2+1)).center(n*2-1).rstrip(' '))

考え方3:先生の答え、逆さまに
n = int(input())
for i in range(n, 0, -1):
    print(' ' * (i - 1) + '+' * (2 * (n - i) + 1))