【解決方法】数値 N が与えられた場合、数値を使用して 2 * N – 1 行の逆中空ピラミッドを出力するプログラムを作成します。


数値 N を指定して、数値を使用して 2 * N – 1 行の逆中空ピラミッドを出力するプログラムを作成します。
出力は次のようになります。

      1
    2 2
  3   3
4     4
  3   3
    2 2
      1

私が試したこと:

N = int(input())
for i in range(-N+1, N):
     for j in range(abs(i)):
        print(" ", end="")
    for k in range(N-abs(i)):
        if k == 0 or k == N-abs(i)-1:
            print(str(i+N) + " ", end="")
        else:
            print("  ", end="")
    print()
The output of the above code  is
  1 
 2 2 
3   3 
 4 4 
  5

解決策 2

それが必要なものではない理由は、それが別の問題に対する解決策だからです。 インターネットでコードを見つけて、それがあなたが提出する必要があることを実行すると仮定したり、教師が要求したことを他の誰かが実行するように強制したりすることはできません.

私たちは立ち往生している人々を喜んで助けますが、それは私たちがあなたのためにすべてをするためにここにいるという意味ではありません! 私たちがすべての作業を行うことはできません。あなたはこれに対して報酬を受け取っているか、またはそれはあなたの成績の一部であり、私たちがあなたのためにすべてを行うことはまったく公平ではありません.

だから私たちはあなたが仕事をする必要があり、あなたが行き詰まったときにあなたを助けます. それは、あなたが提出できる段階的な解決策を提供するという意味ではありません!
現在の状況と、プロセスの次のステップを説明することから始めます。 次に、その次のステップを機能させるために何を試みたか、またその際に何が起こったかを教えてください。

それを捨てて、代わりに設定された問題を解決するために独自のコードを書くことから始めることをお勧めします。 そうすれば、単純なタスクの将来の割り当てに必要なスキルを開発し始めます。そうしないと、そのようなスキルの基本を持っていると仮定して、後で設定されるより複雑なタスクが完全に超えてしまいます。あなた…そしてあなたはコースに失敗します。

開始するのに問題がある場合は、これが役立つ場合があります。 問題を解決するためのコードの書き方、初心者向けガイド[^]

解決策 1

N = int(入力())
範囲内の i の場合 (-N+1, N):
範囲内の j の場合 (abs(i)):
print(” “, end=””)
範囲内の k の場合 (N-abs(i)):
k == 0 または k == N-abs(i)-1 の場合:
print(str(i+N) + ” “, end=””)
それ以外:
print(” “, end=””)
印刷()

コメント

タイトルとURLをコピーしました